对于32位整数,二进制100 ...(31个零)的值是多少?

Wei*_* Ma 1 c# java bit-manipulation

这只是一个随意的想法.两个100的补码...(31个零)也是100 ......所以,该值必须为0.但是我们知道0的二进制表示是000 ...

我知道它不能是-0和+0,因为每个二进制表示应映射到唯一值.

Joe*_*oey 8

这是-2 31.二进制补码只有一个零,负数范围比正数多一个数.是的,这意味着有一个没有正数的负数 - 这有时被称为" 奇数",因为它是两个补数的构建方式的例外.