处理大数字与浮点数
1.
Java中int类型数值占32位,有符号
Integer.MAX_VALUE=2*e31-1,
Integer.MIN_VALUE=-2*e31,
long类型数值占64位
Long.MAX_VALUE=2*e63-1,
Long.MIN_VALUE=-2*e63,
2.报错:
计算机用固定的位数保存数值,当数值超过类型范围,计算机将自动截断数值中以二进制表示他的数的多余位数。
3.处理无限大的整数
BigInteger类,支持大整数的加减乘除运算
4.比较两个浮点数
计算机不能精确的表达浮点数(特殊形式除外),所以
要比较两个浮点数大小应比较其差的绝对值是否在某个允许的范围额之内即可。
例子
源代码:
public class Example1 {
public static void main(String args[]) {
double i=0.100000000002;
double j=0.100000000003;
if(Math.abs(i-j)<1e-10) {
System.out.println(i+"="+j);
}
}
}
截图: