手机版

浮点32位16进制和10进制转换

发布时间:2024-11-21   来源:未知    
字号:

1.十进制数形式 由数码 0~ 9 和小数点组成。例如:0.0,.25,5.789,0.13,5.0,300.,-267.8230 等均为合法的实数。 2.指数形式 由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般 形式为 a E n (a 为十进制数,n 为十进制整数)其值为 a*10,n 如: 2.1E5 (等于 2.1*10 的 5 次方), 3.7E-2 (等于 3.7*10 的-2 次方) 0.5E7 (等于 0.5*10 的 7 次方), -2.8E-2 (等于 -2.8*10 的-2 次方),以下不是合法的实数 345 (无小数点) E7 (阶码标志 E 之前无数字) -5 (无阶码标志) 53.-E3 (负号位置不对) 2.7E (无阶码) 标准 C 允许浮点数使用后缀。后缀为“f”或“F”即表示该数为浮点数。如 356f 和 356.是 等价的。例 2.2 说明了这种情况: void main() { printf("%f\n%f\n",356.,356f); } 标准 4 字节浮点型在计算机里存储方式如下图

IEEE754 标准中浮点数表示格式 IEEE 规定的浮点数表示法是一种科学计数法,用符 号(正或负)、指数和尾数来表示,底数被确定为 2。也就是说浮点数被表示为尾数乘以 2 的指数次方再带上符号。具体格式如下:符号域 单精度浮点数 双精度浮点数 1 位[31] 1 位[63] 指数域 8 位[30-23] 11 位[62-52] 小数域 23 位[22-00] 52 位[51-00] 指数偏移量 127 1023

下面以单精度浮点数为例来介绍浮点数的三个区域: 符号域:符号域占 1 位,0 表示正数,1 表示负数。指数域:指数域共有 8 位,可表达 的范围为:0~255。为能处理负指数,实际指数位存储在指数域中值减去一个偏移量(单精 度为 127,双精度为 1023)。单精度浮点数的偏移量为 127,故实际可表达的指数值的范围为 -127~128。尾数域:尾数域共有 23 位。由于规范浮点数的小数点左侧必须为 1,所以在保 存尾数时,可以省略小数点前面这个 1,从而腾出一个二进制位来保存更多的尾数。举例: 比如对于单精度数而言, 二进制的 1001.101 (对应于十进制的 9.625) 可以表达为 1.001101 ×2^3,所以实际保存在尾数域中的 值为 0011 0100 0000 0000 0000 000,即去掉小数点左侧的 1,并用 0 在右侧补齐。 ( 整数部分(9)的计算:1001

小数部分(0.625)的计算:

0.625*2=1.25--------1

0.25 *2=0.5 ----------0

0.5 *2=1.0 -----------1

所以用二进制科学表示方式为:1.001101*2^3

)

实数与浮点数之间的变换举例例一:已知一个单精度浮点数用16进制数表示为:0xC0B40000,求此浮点数所表达的实数。

先转换为二进制形式(注意:对于负数二进制补码转换成十进制一定要:先取反,后加1)

C 0 B 4 0 0 0 0

1100 0000 1011 0100 0000 0000 0000 0000

按照浮点数格式切割成相应的域 1 1000 0001 01101 000000000000000000

经分析:符号域1 意味着负数;指数域为129 意味着实际的指数为2 (减去偏差值127);尾数域为01101 意味着实际的二进制尾数为1.01101 (加上隐含的小数点前面的

1)。所以,实际的实数为:

= -1.01101 × 2^ 2=- ( 1*2^0 + 1*2^(-2) + 1*2^(-3) + 1*2^(-5) ) × 2^2

= -(1+0.25+0.125+0.03125)*4

= -1.40625*4

= -5.625

例二:将实数-9.625变换为相应的浮点数格式。

1) 求出该实数对应的二进制:1001.101,用科学技术法表达为:-1.001101 ×2^3;

2) 因为负数,符号为1;

3) 指数为3,故指数域的值为3 + 127 = 130,即二进制的10000010;

4) 尾数为1.001101,省略小数点左边的1后为001101,右侧0补齐,补够23位, 最终尾数域为:00110100000000000000000;

5) 最终结果:1 10000010 00110100000000000000000,用16进制表示:

0xC11A0000。

浮点32位16进制和10进制转换.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)