比如说你写12,默认的就是int的12
int是32位的
12=00000000 00000000 00000000 00001100
~12=11111111 11111111 11111111 11110011
第二个问题,有符号整数是按照最高位判断正负的(java中的数值除了char都是有符号的,都符合这个规则),如果x最高位是1,那么该数是负数,其值为 -((~x)+1),因此
11111111 11111111 11111111 11111111作为int型的话,因为最高位为1,所以其值为 -(0+1)=-1
根据上面的理论,~12=-(~(~12)+1)=-13
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
理解计算机整数运算中的反码与补码
本文深入探讨了计算机整数运算中反码与补码的概念,包括它们如何通过位操作来实现正负数的表示,以及如何在负数表示中通过反码与补码的不同应用来避免溢出问题。
210

被折叠的 条评论
为什么被折叠?



