(0.1)=0.0001100110011001100110011001100110011001100110011001
(0.2)=0.0011001100110011001100110011001100110011001100110011
(0.3)=0.0100110011001100110011001100110011001100110011001100
IEEE 7554 Double 64 bits Sign: 1 bit Biased Exponent: 11 bits Mantissa: 52 bits
(0.1)+ (0.2)=
1.1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 0000*2^-4
11.0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0000*2^-4
‘======
100.1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 0000*2^-4
因最高位進位,所以最低位捨去進1
100.1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1101 *2^-4
0.0100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1101(0.1+0.2)
0.0100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100 1100(原始0.3)
故得知0.1+0.2 != 0.3
(0.1)+ (0.1)=
1.1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 0000*2^-4
1.1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 1001 0000*2^-4
‘======
11.0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0010 0000*2^-4
因最高位進位,所以最低位捨去進1
11.0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 *2^-4
0.0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011(0.1+0.1)
0.0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011(原始0.2)
故得知0.1+0.1 == 0.2
小數進制轉換
https://www.exploringbinary.com/binary-converter/
沒有留言:
張貼留言