带符号浮点数

阅读 142 收藏 0 点赞 0 评论 0

当前的实数在我们的日常生活中不方便表示非常小的数字,例如+0.00000012347650。该相同数字可以更方便地用科学计数法表示为+ 1.23476×10 -07。但这实际上代表+0.000000123476。因此存在0.00000000000005的误差,这形成了非常小的百分比误差。

浮点表示在概念上与科学计数法相似。从逻辑上讲,浮点数包括:

  • 在给定基数(或基数)中具有给定长度的带符号(表示正数或负数)的数字字符串。此数字字符串称为有效数字,尾数或系数。

  • 有符号整数指数 ,可修改数字的大小。

该浮点数患的是要注意重要损失 精度 时具有固定数量的比特来表示(例如,32位或64位)。这是因为有无限 实数(即使在0.0到0.1的小范围内)。另一方面,n位二进制模式可以表示有限的2n个不同数字。因此,并非所有的实数都可以表示。浮点数算法的效率远远低于整数算法。因此,如果应用程序不需要浮点数,则最好使用整数。相反,将使用最接近的近似值,从而导致精度损失。现代计算机采用IEEE 754标准来表示浮点数。有两种表示方案:32位单精度和64位双精度。

IEEE浮点数具有三个基本组成部分:符号,指数和尾数。尾数由分数和隐式前导数字组成(如下 )。指数基数(2)是隐式的,不需要存储。

下表显示了单精度(32位)和双精度(64位)浮点值的布局。显示每个字段的位数,然后在方括号中显示位数范围。00 =最低有效位。


标志
指数
分数
单精度
1 [31]
8 [30–23]
23 [22–00]
双精度
1 [63]
11 [62–52]
52 [51–00]

布局为位,浮点数看起来像这样-

单精度-SEEEEEEE EFFFFFFF FFFFFFFF FFFFFFFF

双精度-SEEEEEEE EEEEFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFFFFFFFFFF


评论列表


问题


面经


文章

微信
公众号

扫码关注公众号