IEEE 754 浮点数

本文详细介绍了IEEE 754浮点数标准,包括浮点数与定点数的区别,IEEE 754的构成、格式及编码,以及舍入误差。内容涵盖单精度和双精度格式,解释了指数偏移值、非格式化值和特殊数值(如NaN和无穷)的概念,旨在深入理解浮点数在计算机中的表示和运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 定点数(Fixed Point Number)
2. 浮点数(Floating Point Number)
3. IEEE 754 标准
  3.1 什么是 IEEE 754
  3.2 IEEE 754 由来
  3.3 IEEE 754 构成
  3.4 IEEE 754 格式及编码
    (1)单精度浮点格式(32位)
    (2)双精度浮点格式(64位)
  3.5 格式化值与非格式化值
    (1)格式化值
    (2)非格式化值
    (3)特殊数值
  3.6 舍入误差
1. 定点数(Fixed Point Number)

  在计算机系统的发展过程中,业界曾经提出过许多种实数的表达方法,比较典型的是定点数。

  在定点数表达法中,其小数点固定地位于实数所有数字中间的某个位置。例如,货币的表达就可以采用这种表达方式,如 55.00 或者 00.55 可以用于表达具有4位精度(Precision),小数点后有两位的货币值。由于小数点位置固定,所以可以直接用 4 位数值来表达相应的数值。

  但我们不难发现,定点数表达法的缺点就在于其形式过于僵硬,固定的小数点位置决定了固定位数的整数部分和小数部分,不利于同时表达特别大的数或者特别小的数。因此,最终绝大多数现代的计算机系统都采纳了所谓的浮点数表达法。


2. 浮点数(Floating Point Number)

  浮点数表达法采用了科学计数法来表达实数,即用一个有效数字(Significant)一个基数(Base)一个指数(Exponent)以及一个表示正负的符号(Sign)来表达实数。比如,123.45用十进制可以表达为 1.2345×102——其中,1.2345 为有效数字,10 为基数,2 为指数。浮点数利用指数达到了浮动小数点的效果,从而可以灵活地表达更大范围的实数。其中,有效数字有时也称为尾数(Mantissa)

  当然,对实数的浮点表示仅作如上的规定是不够的的,因为同一实数的浮点表示还不是唯一的。123.45 同样也可以表达为 0.12345×103 和 12.345×101这两种方式。正是因为这种表达的多样性,因此有必要对其加以规范以达到统一表达的目的。

  规范的浮点数表达方式具有如下形式:

其中,d.dd…d为有效数字,β为基数,e为指数。

  有效数字中数字的个数称为精度,可以用 p 来表示有效数字精度。有效数字中的每个数字 d 介于 0(包括0) 和基数 β 之间,更精确地说,

表示以下数:

  其中,对十进制的浮点数,即基数 β 等于 10 的浮点数而言,如 12.345 可以表达为:1×102+2×101+3×100+4×10-1+5×10-2,则该十进制的浮点数的规范浮点数表达为 1.2345×101

  同样地,对于二进制也可以如此简单地表达。唯一不同之处在于:二进制的 β 等于2,而每个数字 d 只能在 0 和 1 之间取值。如 1001.101,我们可以根据上面的表达式表达为:1×23+0×22

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值