浮点数的十六进制表示
发布网友
发布时间:2022-12-26 04:38
我来回答
共1个回答
热心网友
时间:2023-11-04 23:37
IEEE 754规定了表示浮点数值的方式:单精确度(32位元)、双精确度(64位元),
单精度二进制小数,使用32个位元存储,
其中分为符号位(S), 指数位(Exp),有效数位(Fraction)
【从左到右依次排序分别位1位、8位、23位】
指数部分即使用所谓的偏正值形式表示,实际值为表示值与一个固定值(32位的情况是127)的和。
例如有一个浮点数是6.91,如何将其转换为十六进制呢?
首先将6.91转换为二进制形式:
110.111010001111010111000
将其规范化:调整使其实数第一位大于1小于2
6.91 = 1.10111010001111010111000 * 2^2
基本原型出来了
S:0
EXP : 2+127(10进制) =129(10进制) = 10000001(2进制)
Fraction : 10111010001111010111000 (注意:小数点前面的1不要了)
组合一下: 0 10000001 10111010001111010111000
= 0100 0000 1101 1101 0001 1110 1011 1000
= 4 0 D D 1 E B 8
原文: https://blog.csdn.net/Cheatscat/article/details/78533349