为什么〜0是-1?
因此,我是reading about ~
,为什么〜0是-1?
对每一位执行NOT运算符。
所以,我想:
0 = 00000000000000000000000000000000 so ~0 should be
~0 = 11111111111111111111111111111111
但是,当我尝试,它返回-1
。是不是11111111111111111111111111111111
是十进制的4294967295
?
回答:
它被解释为一个有符号的整数,并且在二进制补码中,所有位1的整数是-1
。
回答:
所有1
s的位模式是用于4294967295
无符号整数,或具有多于32位一个符号整数。对于带有的32位有符号整数表示为二进制补码其-1
。
回答:
只有类型是无符号的。带符号的整数使用最高位作为否定标志 - 因此将其设置为1会导致负数。见Two's Complement。
以上是 为什么〜0是-1? 的全部内容, 来源链接: utcz.com/qa/258983.html