今天学习的是Java中对大数据的处理。
在之前n的阶乘的代码中运行50的结果得到的是负值,这是为什么呢?
原来,由于计算机使用固定的位数来保存数值,因此,
能处理的数值大小是有限的,当要处理的数值超过了这一范围时,
计算机将会自动截断数值的二进制表示为它所能处理的最多位数,这将导致错误的处理结果。
解决办法:
Java提供了一个BigInteger类,支持大整数的加减乘除运算。