a=13,为什么~a
a=13,为什么~a<<2等于-56啊?13的二进制为1101,~a为0010,那~a<<2不是应该为1000吗,
正确应该怎么算才到-56?请指点
Your machine int is 16 bit or 32 bit, not 4 bit.
以C中的两个字节表示:
a = 13 : 00000000 00001101
~a : 11111111 11110010
~a<<2 : 11111111 11001000
以下就是求这个11111111 11001000数的十进制值,可知这数是个负的
对这个数减1得11111111 11000111,
再取反: 00000000 00111000得56因为是个负的,所以就是-56
LS的大哥
为什么将11111111 11000111换算成十进制要减个1
搞不懂....
谢谢了....
发现学的东西不少 漏洞也不少.....