对于这个问题,还是得看计算机原理。
我们这个问题,可以用科学计数法来表示,1.222222332412341234*10(333),
对于二进制来说,这也是可以的,
如此,我们只要在存储的时候,把小数部分全部存储起来,并且把表示多少次方的说存储起来,就可以了,
当然还少不了表示正负号的位,如此,这样就可以表示数了,
那精度怎么来的呢,
1.222 1.22222222
哪个精确呢,当然是第二个,
那我们0.1,表示成二进制,如何呢,
0.1 = 0*2(-1)+0*2(-2)+0*2(-3)+1*2(-4)+1*2(-5)+0*2(-6)....
那float和double的差别呢就是在,能够表示的位数不同。
网友评论