赞
踩
IEEE 754单精度浮点数格式使用32位二进制表示,其中1位用于符号位,8位用于指数,23位用于尾数。
以下是IEEE 754单精度浮点数的详细格式:
S | Exp | Frac |
---|---|---|
1 | 8 bits | 23 bits |
其中,S表示符号位,Exp表示指数,Frac表示尾数。
符号位(S):用于表示浮点数的正负性。当S为0时,表示为正数;当S为1时,表示为负数。
指数位(Exp):用于表示浮点数的大小范围。在IEEE 754标准中,指数采用“移码表示”(Excess-K表示),即实际指数值为指数值减去一个固定偏移量K。对于单精度浮点数,指数偏移量为2的7次方-1=127。因此,指数位的取值范围为-126~127。
尾数(Frac):用于表示浮点数的精度。在IEEE 754标准中,尾数采用隐式“1”表示法,即在尾数的最高位上总是隐含一个“1”,因此尾数的范围为1到2(不包括2),可以表示的最小精度为2的-23次方。
通过这些二进制位的组合,单精度浮点数可以表示的实数范围为约±3.4×10^38,
可以表示的最小正数为约2.2×10^-23。
例题:
若浮点数 x 的 IEEE754 标准存储格式为(41360000)16,求其浮点数的十进制数值。
(41360000)16
(0100 0001 0011 0110 0000 0000 0000 0000)2
首位
是S(f符号位),次八位
-127是E(阶数),剩余23位是M(尾数)S=0
E=(100 0001 0)2-(127)10
=130-127
=3
//计算得出阶数E=3
S=0
E=3
M=011 0110 0000 0000 0000 0000
//计算
x=(–1)^S×(1.M)×2^E
=1×1.011011×8
=1011.011
//结果转化为十进制
(11.375)10
例题:
将263.25转化为单精度浮点数格式。
//将其转化为二进制的格式
(263.25)10=(100000111.01)2
//将小数点移动,使得成为1.M的格式
1.0000011101(小数点向左移动了八位)
//得到E的值
E=127+8=135
//二进制形式
10000111
M=0000011101
//所以最终答案是:S E M
0 1000 0111 0000 0111 0100 0000 0000 000
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。