0
尾数部为什么0.2D等于的二进制表示:0 0111110010011001100110011001101理解一个32位浮点为十进制0.2
所以0.2D可以转化为0.0011b重复。你搬过来的基数,并获得1.1×2^-3
符号位= 0
指数= 0111 1100
尾数为10011001100110011001101为什么呢?
是不是尾数只是10000000000000000000000?
尾数部为什么0.2D等于的二进制表示:0 0111110010011001100110011001101理解一个32位浮点为十进制0.2
所以0.2D可以转化为0.0011b重复。你搬过来的基数,并获得1.1×2^-3
符号位= 0
指数= 0111 1100
尾数为10011001100110011001101为什么呢?
是不是尾数只是10000000000000000000000?
0.2十进制为0.001100110011 ...二进制。当你在小数点前移动了一个1
(因为1
实际上并未存储在fp值中 - 它是“隐藏”的那个),所以你有2 -3· 1.1001100110011 ......现在,如果你真的想尾数正好23位存储(如FP32),休息:
10011001100110011001100_110011001..
是在一个点只是1位之前,所以你一轮了,给
10011001100110011001101
为存储尾数
没有,因为10000尾数......往往对应于2的幂,其中2/10是没有的。 –
@PascalCuoq,:实际上所有0的manitssa对应于2的幂(因为隐藏的1位)。 10000 ...的尾数对应于2的幂的1.5倍(在这种情况下将是0.1875 - 3/16) –