如果我错了,但在c中的64位计算机上,请纠正我,这些是tmax和min的值。
int tmax = 2147483647;
int tmin = -2147483648;
我想知道为什么tmin比tmax多1位。
答案 0 :(得分:1)
是因为零。
32位二进制补码int
可以表示的负数是-1到−2,147,483,648。
32位二进制补码int
可以表示的非负数是0到2,147,483,647。
每个确切有2 31 。
(另外,术语nitpick:2,147,483,648比一个2147,483,647多了一个,而不是一个一个。多一点的是4,294,967,294-两倍。)>