当前位置:   article > 正文

IEEE754单精度浮点数与十进制相互转化_将十进制数13.59375转换成32位ieee754格式浮点数的二进制格式。

将十进制数13.59375转换成32位ieee754格式浮点数的二进制格式。

什么是IEEE754单精度浮点数

IEEE 754单精度浮点数格式使用32位二进制表示,其中1位用于符号位,8位用于指数,23位用于尾数。

以下是IEEE 754单精度浮点数的详细格式:

SExpFrac
18 bits23 bits

其中,S表示符号位,Exp表示指数,Frac表示尾数。

  1. 符号位(S):用于表示浮点数的正负性。当S为0时,表示为正数;当S为1时,表示为负数。

  2. 指数位(Exp):用于表示浮点数的大小范围。在IEEE 754标准中,指数采用“移码表示”(Excess-K表示),即实际指数值为指数值减去一个固定偏移量K。对于单精度浮点数,指数偏移量为2的7次方-1=127。因此,指数位的取值范围为-126~127。

  3. 尾数(Frac):用于表示浮点数的精度。在IEEE 754标准中,尾数采用隐式“1”表示法,即在尾数的最高位上总是隐含一个“1”,因此尾数的范围为1到2(不包括2),可以表示的最小精度为2的-23次方。
    通过这些二进制位的组合,单精度浮点数可以表示的实数范围为约±3.4×10^38,
    可以表示的最小正数为约2.2×10^-23。

IEEE754单精度浮点数转十进制格式

例题:
若浮点数 x 的 IEEE754 标准存储格式为(41360000)16,求其浮点数的十进制数值。

  1. 将16进制的格式转化为二进制的格式的数字
(41360000)16
(0100 0001 0011 0110 0000 0000 0000 0000)2
  • 1
  • 2
  1. 首位是S(f符号位),次八位-127是E(阶数),剩余23位是M(尾数)
S=0
E=(100 0001 0)2-(127)10
 =130-127
 =3
//计算得出阶数E=3
  • 1
  • 2
  • 3
  • 4
  • 5
  1. x=(–1)S×(1.M)×2E
S=0
E=3
M=011 0110 0000 0000 0000 0000
//计算
x=(1)^(1.M)×2^E
 =1×1.011011×8
 =1011.011
//结果转化为十进制
 (11.375)10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

十进制转IEEE754单精度浮点数格式

例题:
将263.25转化为单精度浮点数格式。

  1. 求S:正数S=0,负数S=1;
  2. 求E:十进制数转化为二进制数,然后将其变成1.M格式,需要将小数点移动N位,E=127+N
//将其转化为二进制的格式
(263.25)10=(100000111.01)2
//将小数点移动,使得成为1.M的格式
1.0000011101(小数点向左移动了八位)
//得到E的值
E=127+8=135
//二进制形式
10000111
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  1. 将1.M的格式的小数位作为M的值,如果不够23位,后面补零
M=0000011101
//所以最终答案是:S E M
0 1000 0111 0000 0111 0100 0000 0000 000
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/258367
推荐阅读
相关标签
  

闽ICP备14008679号