[例2] 将十进制数数20.59375转换成32位浮点数的二进制格式来存储.[解:] 首先分别将整数和分数部分转换成二进制数:20.59375=10100.10011然后移动小数点,使其在第1,2位之间10100.10011=1.010010011×24 e

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 16:10:06
[例2]将十进制数数20.59375转换成32位浮点数的二进制格式来存储.[解:]首先分别将整数和分数部分转换成二进制数:20.59375=10100.10011然后移动小数点,使其在第1,2位之间1

[例2] 将十进制数数20.59375转换成32位浮点数的二进制格式来存储.[解:] 首先分别将整数和分数部分转换成二进制数:20.59375=10100.10011然后移动小数点,使其在第1,2位之间10100.10011=1.010010011×24 e
[例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是怎么来的?

[例2] 将十进制数数20.59375转换成32位浮点数的二进制格式来存储.[解:] 首先分别将整数和分数部分转换成二进制数:20.59375=10100.10011然后移动小数点,使其在第1,2位之间10100.10011=1.010010011×24 e
整数部分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.375 0
0.375*2=0.75 0
0.75*2=1.5 1
0.5*2=1 1
所以0.59375=0.10011
所以 20.59375=10100.10011