1、整数类型运算时的类型溢出问题
(1)、产生原因
整数类型运算时,遇到类型溢出问题,是因为int类型只占4个字节,可以表示的取值范围为-2147483648~2147483647,当数值已经达到了该类型的最大值后,在继续扩大,或者达到了最小值后再继续缩小,就会出现数据溢出问题,导致计算结果不正常。
(2)、解决办法
1)、强制类型转换:将int类型强制转换为long类
2)、使用BigInteger保存“超大整数”
调用方法,进行“加减乘除”运算
当我们处理非常大的数值或者需要执行精确的数值计算,用BigInteger更为合适。
2、浮点类型运算时的精度丢失问题
(1)、产生原因
浮点型进行运算时,会出现精度丢失的情况,是因为计算机底层使用二进制进行运算,而浮点数的小数部分无法转换成精确的二进制数值,容易产生无限循环。