[例2] 将十进制数数20.59375转换成32位浮点数的二进制格式来存储.
问题描述:
[例2] 将十进制数数20.59375转换成32位浮点数的二进制格式来存储.
[解:]
首先分别将整数和分数部分转换成二进制数:
20.59375=10100.10011
然后移动小数点,使其在第1,2位之间
10100.10011=1.010010011×24 e=4
于是得到:
S=0,E=4+127=131,M=010010011
最后得到32位浮点数的二进制存储格式为:
0100 0001 1010 0100 1100 0000 0000 0000=(41A4C000)16
我想问的是,将整数和分数部分转换成二进制数如何实现··
就是说:20.59375=10100.10011是怎么来的?
答
整数部分20D=10100B这个很简单,将20除2取倒序列就可以了或者是分解法
20=2^4 0*2^3 2^2 0*2^1 0*2^0=10100B
小数部分是乘2取整数
0.59375*2=1.1875 1
0.1875*2=0.3750
0.375*2=0.75 0
0.75*2=1.51
0.5*2=1 1
所以0.59375=0.10011
所以 20.59375=10100.10011