为什么 Tmin 比 Tmax 多 1 位

  • 本文关键字:Tmax Tmin c
  • 更新时间 :
  • 英文 :


如果我错了,请纠正我,但在 c 的 64 位机器上,这些是 tmax 和 min 的值。

int tmax = 2147483647;
int tmin = -2147483648;

我想知道,为什么 tmin 比 tmax 多 1 点。

这是因为零。

32 位二进制补码int可以表示的负数是 −1 到 −2,147,483,648.
32 位二进制补码int可以表示的非负数是 0 到 2,147,483,647。

每个正好有 231个。

(另外,术语吹毛求疵:2,147,483,648比2,147,483,647多一点,而不是多一点。 再多一点就是 4,294,967,294,是原来的两倍。

最新更新