MSDN
Int32值用31位表示,第32位用作符号位。正数用符号和量值表示。负值是二的补码表示。
sign-and-magnitude system表示正值和用two's complement system表示正值是一样的,这不是真的吗?
所以不应该重写为:“int32值(不管是正数还是负数)用two的补码表示”,
还是我误会了什么?

最佳答案

是的,你是对的。他们应该说它使用了一个2s补码系统,然后给出了使用31位的定义,而不是将否定解释为“2s补码”,只是解释否定的位表示。然后给出关于位运算符的警告

关于c# - .NET的整数不是仅基于二进制补码吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10645936/

10-12 00:53