这只是一个随意的想法。 100...(31 个零)的补码也是 100... 所以,这个值一定是0。但是我们知道0的二进制表示是000...
我知道它不能是 -0 和 +0,因为每个二进制表示都应该映射到一个唯一值。
最佳答案
是 −231。二进制补码只有一个零,负值范围比正值扩展一个数。是的,这意味着只有一个负数没有等价的正数——这有时被称为 »weird number«因为它是二进制补码构建方式的一个异常(exception)。
关于c# - 32 位整数的二进制 100...(31 个零)的值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5694983/