为什么〜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

回到顶部