c语言基础——01阶码

单精度浮点float占4字节32位,在内存中的表示方式为:

1.第1位表示符号位,0为正数,1为负数

2.中间8位表示为阶码,为了避免符号位占用阶码,所以阶码的初始值为127用e表示

3.后23位表示尾数,由整数的一部分二进制数+小数部分的二进制数组合而成。

下面进行举例:

以11.73为例:

整数部分:11

转换为二进制为:1011

小数部分:0.73

转换为二进制为:1011 1010 1110 0001 0100

0.73*2=1.46     1
0.46*2=0.92     0
0.92*2=1.84     1
0.84*2=1.68     1
0.68*2=1.36     1
0.36*2=0.72     0
0.72*2=1.44     1
0.44*2=0.88     0
0.88*2=1.76     1
0.76*2=1.52     1
0.52*2=1.04     1
0.04*2=0.08     0
0.08*2=0.16     0
0.16*2=0.32     0
0.32*2=0.64     0
0.64*2=1.28     1
0.28*2=0.56     0
0.56*2=1.12     1
0.12*2=0.24     0
0.24*2=0.48     0   

组合为:1011.1011 1010 1110 0001 0100

按照规范需将该数转换为1~2之间的小数即:

1.0111011 1010 1110 0001 0100*2^3

阶码即为:127+3

因此11.73转换为二进制的内存表示方法为:

0(符号位,表正数) 

100 0001 0(阶码,表130) 

011 1011 1010 1110 0001 0100(尾数,整数部分+小数部分)

最终结果为:

0100 0001 0011 1011 1010 1110 0001 0100

413B AE14

双精度浮点double占8字节,64位。

1.第1位表示符号位,0为正数,1为负数

2.中间11位表示为阶码,初始值为1023用e表示

3.后52位表示尾数,由整数的一部分二进制数+小数部分的二进制数组合而成

运算规则同单精度运算规则。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值