不是.NET 的整数只是简单地基于 2 的补码系统

本文关键字:补码 系统 简单 NET 整数 不是 | 更新日期: 2023-09-27 18:34:28

MSDN:

Int32 值以 31 位表示,其中 30 秒位用作符号位。正值使用符号和量级表示形式表示。负值是二进制补码表示形式。

使用

符号和量级系统表示正值与使用二进制补码系统表示正值不是相同的吗?

所以它不应该被改写为:"Int32 值(无论正数还是负数(都以 2 的补码表示形式表示">

还是我误解了什么?

不是.NET 的整数只是简单地基于 2 的补码系统

是的,你是对的。他们应该说它使用二进制补码系统,然后给出关于使用 31 位的定义,而不是将负数解释为"二的补码",而只是解释负数的位表示。然后给出有关按位运算符的警告。