2147483647
2017-04-26 本文已影响375人
杨大虾
21E是一个敏感的数字,大家肯定在好多游戏都遇到过,经验或者是金钱的上限是21E(2147483647)
这是为什么呢?
我们知道计算机中存储任何数字都是以2进制位来存储的,N位2进制数最大能代表的10进制数就是2的N次方减一。
2147483647是一个什么样的数字?事实上它就是2的31次方减一。这个数字也就是通常程序中的长整型(或称32位整形)数据的最大值。多数游戏中的经验/金钱都使用长整型。
长整型所占的空间是4字节。我们知道1Byte=8Bit。也就是1字节=8位(二进制数)。
那么长整型实际上就是32位的2进制数。但是由于需要留出其中的1位来做正负号。所以长整型的最大值就是231-1而不是232-1。
(无符号长整型的最大值是2^32-1,即42E,但是这种类型无法表示负数,长整型的负数可以表示到-2147483648)。