int a=13,表达式~a
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/18 18:37:30
xTIr@
YG'Yer%Yd 6SAw7+j8WBZԇGN>ߩ
ovjv?=:GտE&dlӬT69Yy#ȳ2+@ *!p(r`4^A!v>~Kê9Z3iy@,6q'\⌎Dtճ0<
>qujI0sbUV0< K|dJ9t(!3H/qܟO+OyT܂ YV
qRa d5h^)H4TYl,+CNq%3tܸVdQcalQ`e̢9ABY
;'o^@~@n@N|5SQӫ{HwըɲY{vKzyݕ)uM."ci=>7b3/xP܅,M}v?LtJf#bɑ)`
int a=13,表达式~a
int a=13,表达式~a
int a=13,表达式~a
我以前也没怎么搞明白,顺便自己研究了下,大家共同进步哈!
(int占4字节的情况计算出得结果是一样的)
1.方法
先转换成对应的2进制(int型在计算机中是4字节,这里以2字节位例,具体占自己数看计算机)
2.具体步骤
00000000 00001101(13对应的2进制)
11111111 11110010 (取反)
11111111 11001000 (左移2位,这个是计算机中存储的真实内容)
3.关于计算机的存储(补码):
在计算机系统中,数值一律用补码来表示(存储).
主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理.另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃.
(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码.
(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1.
因为上述结果首位为1,所以是个负数.他的原码(即真实值)是首位不变,其他位取反再加1
取反:
10000000 00110111
加1:
10000000 00111000(左边1是符号位,1表示为负,111000转换成10进制就是-56)
所以答案是-56
(我觉得补码的原因,因为有符号位.1000 和0000那是表示+0和-0,计算时会引起混乱)
int a=13,表达式~a
对于int a,表达式1
对于int a ,表达式1
int a,则表达式1
已知int a=10,b=15;,表达式!a
设int a=2,则表达式a
10.对于int a,表达式1
int a=12,则表达式a+=a-=a*a的值是多少?
若有变量定义 int a=1;表达式 a--?++a:--a的值是多少
若已定义int a,则表达式a=10,a+10,a++的值为
设int a=5,b=9,c=15,表达式(a+b)/c||(a
假定int a=2,b=5,表达式:a+'1'+(float)(b/a)的值
int a=10;则表达式(++a)+(a--)的值为 运算过程是什么
设先有定义:int a=10;则表达式(++a)+(a--)的值为
设int a;,则表达式a=2,4,a+1的值是( ) 为什么
设int a;则表达式a=2,4,a+1的值是多少?
设int a;则表达式a=2,4,a+1的值是
如int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2%4