为什么0.2d等于二进制表示:0 0111110010011001100110011001101
因此0.2d可以转化为0.0011b重复。你移动基数并获得1.1 x 2 ^ -3
符号位= 0
指数= 0111 1100
尾数= 10011001100110011001101为什么?
尾数不是10000000000000000000000?
答案 0 :(得分:1)
0.2十进制是0.001100110011 ...二进制。当您在小数点之前移位1
时(需要,因为1
实际上并未存储在fp值中 - 它是“隐藏的”),您有2 - 3 ·1.1001100110011 ...现在如果你真的想存储23位尾数(与fp32一样),那么中断:
10011001100110011001100_110011001..
出现在1位之前的一点,所以你把它围绕起来,给出
10011001100110011001101
作为存储的尾数