软件设计师-笔记(2)什么是浮点数 ,十进制转浮点数

什么是浮点数

言简意赅的理解就是浮点数是小数点不固定的数能表示更大范围的数。

二进制数N 就可以表示为 N=2^E *F。这里的E是2的幂,由于不好写出来,就只能这样写了 ,E 代表的是阶码,F(M)表示尾数 这种表示法叫做浮点数表示法

阶符阶码数符尾数

阶符,数符的范围是[0,1]的整数 0代表正数 1代表负数。

单精度浮点数范围

浮点数字长范围
尾数长度23
符号位长度1
指数长度E8
最大指数+127
最小指数-127
指数偏移量127

IEEE754标准 需要把浮点数进行规格化 且 浮点数表示形式如下

十进制数转换成32位浮点数表示形式:
例如:176.0625 先转换成二进制表示:10110000.0001
规格化处理后:1.011 0000 0001*2的七次方(相当于把小数点左移了7位),类比十进制的科学计数法
自我理解 :S E M
S 表示是否是负数 0为正 1为负
E:阶码的二进制数
M:尾数的二进制数
此时 S=0(正数) E=7+127 :因为指数的偏移量是127 E=134=(二进制)1000 0110 尾数 F=0110 0000 0000 0000 0000 000(就是规格化处理后小数点的后面的数不够23位则添0凑足23位) E是正数 因此 S E M 所以 计算得出 0 10000110 011 0000 0001 0000 0000 0000
十进制数: -123.5 转换成 浮点数
负数转浮点数技巧,先不管符号 直接按照正数转成二进制
S:1(因为是负数所以直接为1) 先转二进制: 011 1011 .1(首位是符号位) 规格化:1.111 0111 2^7 E=127+6=133=(二进制)1000 0101
M:1110 1110 0000 0000 0000 000() · · 因此 -123.5的浮点数为 :1 10000101 111 0111 0000 0000 0000 0000

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值