double所占存储空间更大,8字节,所以能表示的值的范围更大
int 四个字节 表示的范围是
int带符号 整数,
1的原码为 0000 0000 0000 0000 0000 0000 0000 0001
2147483647原码为 0111 1111 1111 1111 1111 1111 1111 1111(2的31次方-1)
二进制转化十进制
等比数列求和,Sn = a1(q的n次方 - 1) / (q - 1)
所以除了符号位 其余31位全是1的十进制值为(2的n次方 - 1),即(2的31次方 - 1)
double值转换到int值,会进行四舍五入,会有精度损失。