浮点数的使用

浮点运算

浮点,英文float point,其字面意义就是可以漂移的小数点(浮动的小数点),来表示含有小数的数值。

我们在数学运算中,经常会遇到无限小数,如1/3=0.333333…无限循环,然而计算机存储容量是有限的,需要舍弃掉一些精度,存储近似值。

讨论浮点精度的目的也是在于程序中进行浮点数使用以及比较的时候更加小心。

浮点在计算机中存储

以前不同CPU的浮点表示方式是不同的,这就导致了机器之间的兼容性问题,后来英特尔发布了8087浮点处理器,被IEEE采用,成为业界的标准,被几乎所有CPU采用(有的GPU除外)。

IEEE754定义了浮点的存储格式,如何取舍(rounding mode),如何操作(加减乘除等)以及异常处理标准(异常发生的时机与处理方式)。

首先以单精度浮点型float32为例:

float32是使用32位来表示浮点数的类型,主要有三个部分

  • sign,符号位: 1bit,0是正数,1是负数
  • exponent,指数部分: 8bit,以2为底的指数
  • fraction,有效数部分: 23bit,实际表示24bit数值,浮点数具体的数值,

在这里插入图片描述
sign
0是正数,1是负数;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值