将整数和分数部分转换成二进制数

[复制链接]
查看11 | 回复1 | 2010-9-20 21:40:31 | 显示全部楼层 |阅读模式
[例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是怎么来的?

回复

使用道具 举报

千问 | 2010-9-20 21:40:31 | 显示全部楼层
整数部分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 10.1875*2=0.375
00.375*2=0.75
00.75*2=1.5
10.5*2=1
1 所以0.59375=0.10011所以 20.59375=10100.10011
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行