大家都知道,冒险岛里仓库的MXB最大容量是:2147483647
也许很多人不明白:为什么游戏开发者不直接用整的21E或者22E,偏偏要用2147483647这个“奇怪”的数来表示仓库的最大值呢?
无独有偶,冒险岛的经验EXP的最大值也是2147483647(200级98%经验显示)
其实游戏设计者用2147483647代表仓库的最大MXB以及最大经验EXP显示是必然的,这也是他无法选择的
因为冒险岛的MXB以及经验显示的数据是用有符号的长整型(signed long)来表示的!有符号长整型这种数据类型,在计算机用4字节=4*8=32位二进制表示的!因为是有符号的,所以其最高位代表符号(“0”代表正数;“1”代表负数)所以32位二进制长整型能表示的数据范围恰好为
(-2的31次方-1)~(2的31次方-1) 即: -2147483648~2147483647 其中正数的最大值:2147483647就是仓库和经验的最大值
冒险岛级数其实没有被限制在200级,而是经验的数据类型注定级数要在200级的时候停止,因为你经验在计算机内没有地方放了(放经验的地方已经满了)!要
想突破200级必须要对存储经验数据的存储类型进行“升级”,以增加更多的存储容量来放你打怪的经验!
现在怀疑,冒险岛目前的级数最大值应该是
255级=[(2的8次方)-1]
只用了一个字节存储级数!因为一个游戏设计者是不允许浪费存储空间的!如果冒险岛要想放宽级数限制,使级数突破255级,其下个级数应该是
(2的16次方)-1=65535级
现在即使是255这个最大级数都没有100%利用,存储级数的存储器利用率只有200/250=80%
也许很多人不明白:为什么游戏开发者不直接用整的21E或者22E,偏偏要用2147483647这个“奇怪”的数来表示仓库的最大值呢?
无独有偶,冒险岛的经验EXP的最大值也是2147483647(200级98%经验显示)
其实游戏设计者用2147483647代表仓库的最大MXB以及最大经验EXP显示是必然的,这也是他无法选择的
因为冒险岛的MXB以及经验显示的数据是用有符号的长整型(signed long)来表示的!有符号长整型这种数据类型,在计算机用4字节=4*8=32位二进制表示的!因为是有符号的,所以其最高位代表符号(“0”代表正数;“1”代表负数)所以32位二进制长整型能表示的数据范围恰好为
(-2的31次方-1)~(2的31次方-1) 即: -2147483648~2147483647 其中正数的最大值:2147483647就是仓库和经验的最大值
冒险岛级数其实没有被限制在200级,而是经验的数据类型注定级数要在200级的时候停止,因为你经验在计算机内没有地方放了(放经验的地方已经满了)!要
想突破200级必须要对存储经验数据的存储类型进行“升级”,以增加更多的存储容量来放你打怪的经验!
现在怀疑,冒险岛目前的级数最大值应该是
255级=[(2的8次方)-1]
只用了一个字节存储级数!因为一个游戏设计者是不允许浪费存储空间的!如果冒险岛要想放宽级数限制,使级数突破255级,其下个级数应该是
(2的16次方)-1=65535级
现在即使是255这个最大级数都没有100%利用,存储级数的存储器利用率只有200/250=80%