2015-04-15 35 views
0

尾数部为什么0.2D等于的二进制表示:0 0111110010011001100110011001101理解一个32位浮点为十进制0.2

所以0.2D可以转化为0.0011b重复。你搬过来的基数,并获得1.1×2^-3

符号位= 0

指数= 0111 1100

尾数为10011001100110011001101为什么呢?

是不是尾数只是10000000000000000000000?

+0

没有,因为10000尾数......往往对应于2的幂,其中2/10是没有的。 –

+0

@PascalCuoq,:实际上所有0的manitssa对应于2的幂(因为隐藏的1位)。 10000 ...的尾数对应于2的幂的1.5倍(在这种情况下将是0.1875 - 3/16) –

回答

1

0.2十进制为0.001100110011 ...二进制。当你在小数点前移动了一个1(因为1实际上并未存储在fp值中 - 它是“隐藏”的那个),所以你有2 -3· 1.1001100110011 ......现在,如果你真的想尾数正好23位存储(如FP32),休息:

10011001100110011001100_110011001.. 

是在一个点只是1位之前,所以你一轮了,给

10011001100110011001101 

为存储尾数

相关问题