Board logo

标题: 浮点数的转换与使用 [打印本页]

作者: leslen    时间: 2010-10-17 15:43     标题: 浮点数的转换与使用

在计算机中,浮点数一般由三部分组成:数值的符号位、阶码和有效数字(以后简称为尾数)。这种浮点数是用科学记数法来表示的,即:浮点数=符号位.有效数字×2阶码。

Intel系列的协处理器支持3种形式的浮点数:短型浮点数(32位)、长型浮点数(64位)和临时浮点数(80位),它们分别对应单精度、双精度和扩展精度浮点数。

十进制数转换成浮点数的步骤



 


1、将十进制数转换成二进制数:整数部分用2来除,小数部分用2来乘;

2、规格化二进制数:改变阶码,使小数点前面仅有第一位有效数字;

3、计算阶码:


◆ 短型浮点数的阶码加上偏移量7FH
◆ 长型浮点数的阶码加上偏移量3FFH
◆ 扩展型浮点数的阶码加上偏移量3FFFH

4、以浮点数据格式存储。


把数值的符号位、阶码和尾数合在一起就得到了该数的浮点存储形式。

注意:尾数是带有一个隐含位的23位数,即:数“1.XXXX”的尾数是“XXXX”,前面的”1”被隐含掉,它只在扩展精度的格式中才被显式表示出来。

例11.1 把十进制数100.25转换成协处理器中的浮点数

解:


1、进制转换:(100.25)10=(1100100.01)2

2、规格化:(1100100.01)2=1.10010001×26=1.10010001×2110

3、计算阶码:110+01111111=10000101

4、数值的符号位为0,阶码为:10000101,尾数为:1001 0001 0000 0000 0000 000

综合上述可得:(100.25)10的浮点形式为:0 10000101 10010001000000000000000




欢迎光临 珩源工控论坛 (http://bbs.hymcu.com/) Powered by Discuz! 7.2