Java中的long与double的区别
1.long与double在java中本⾝都是⽤64位存储的,但是他们的存储⽅式不同,导致double可储存的范围⽐long⼤很多
2.long可以准确存储19位数字,⽽double只能准备存储16位数字(实际测试,是17位,)。double由于有exp位,可以存16位以上的数字,但是需要以低位的不精确作为代价。如果⼀个⼤于17位的long型数字存到double上,就会丢失数字末尾的精度java64位
3.如果需要⾼于19位数字的精确存储,则必须⽤BigInteger来保存,当然会牺牲⼀些性能。