level 13
没有商业卫星前一个劲卖主力 有了商业卫星就喜欢砸钱的感觉
2018年09月10日 06点09分
4
吧务
level 15
想太多了。
溢出其实就是程序里面只用了4个字节来记录余额。
到7F FF FF FF,也就是2147483647,是最大值。
再加1,变成80 00 00 00,就是程序里的数字最小值-2147483647。
没错,二进制的程序里没有负值。FM里面表达金额时,把FF FF FF FF规定为-1。
按直觉,7F FF FF FF是2147483647,80 00 00 00应该是2147483648。
但FM2007的程序里就是这么映射的,用从80 00 00 00到FF FF FF FF的区间来表达游戏里的负值。
所以,钱多到一定程度,就会变成负值。
至于后来的版本是怎么解决这一问题的,我没去了解。不过,最常规的办法就是扩展数据区间,比如用8个字节来记录余额,余额的最大值就成了7F FF FF FF FF FF FF FF,对应十进制数字是9,223,372,036,854,775,807,应该没有任何玩家能触及这个上限了。
2024年10月10日 00点10分
8
level 8
呵呵,我才玩到2030年,转会费没有低于4.5亿的,但是转会费也没有溢出。
2024年10月15日 01点10分
9
还差一个数量级呢。1亿是100M,数据溢出的节点是2B也就是2000M。
2024年10月15日 02点10分