不知题主有没有玩过Clicker Heros,我挂机上百小时,伤害值已经达到了十进制e200(10的200次方)以上,这个数字已经远远超过了128位二进制数所能表示的最大数字,这就意味着计算机不能把它当作“数字”处理了。
那么,用什么办法表示他们呢?
很简单,“写”出来。
须知,“写”一个十进制e200数量级的数字出来,只要两百个ASCII码,两百个ASCII码的大小对于现代计算机而言小的可以忽略。可以说随你数字有多大,我能“写”出来的最大的数超乎你的想象。
但具体实现中不一定用ASCII码来实现,因为ASCII码比较古老,提供的含义比较有限,现在的放置类有可能使用了更先进的编码(比如unicode),用可接受的额外开销换取更轻松的开发和更丰富的操作方法。
不过,用“写出来”的方法处理数字会很蛋疼,有可能要自己编写一整套运算函数。
和谐小小 1年前
发布