偏差指数是多少



我的问题涉及IEEE 754标准

因此,我正在经历将十进制数转换为浮点数(IEEE 754标准(所需的步骤,但我不理解确定有偏指数的目的。我无法理解那一步,它到底是什么,为什么要这样做?

有人能解释一下这是什么吗?请记住,我刚刚开始攻读计算机科学转换硕士,所以我不会完全理解某些术语的选择!

如果你认为解释时间很长,请给我指一个正确的方向!

IEEE 32位浮点数字中的指数为8位。

在大多数情况下,如果我们想将带符号的量存储在8位字段中,我们会使用带符号的表示。0x80为-128,0xFF为-1,0x00为0,最大0x7F为127。

但指数不是这样表示的。将指数字段视为127太大的无符号8位数字。查看指数字段中的无符号值,然后减去127得到实际值。因此0x00表示-127。0x7F表示0。

对于64位浮点,字段为11位,偏置为1023,但其工作原理相同。

浮点数可以表示为(但不是(符号位s、指数字段e和尾数字段m,其中e是有符号整数,m是整数的无符号分数。然后,该数字的值将被计算为(-1)^s • 2^e • m。但这不允许代表重要的特殊情况
请注意,可以将指数增加±n,并将尾数右移±n,而不更改数字的值。这允许几乎一个数字来调整指数,使得尾数以1开始(当然,一个例外是0,一个特殊的FP数(。如果这样做,则具有标准化FP数,并且由于尾数现在总是从1开始,因此不必将前导1存储在存储器中,并且保存的位用于提高FP数的精度。因此,不存储尾数m,而是存储尾数字段mf。但是现在0是如何表示的呢?那么,那些已经有最大或最小指数字段,但由于它们的规范化,不能变大或变小的FP数呢?那么";而不是一个数字s";例如CCD_ 16的结果
有偏指数的概念如下:如果将最大指数值的一半添加到指数字段,则得到有偏指数be。要计算FP数的值,当然必须减去该偏差。但所有标准化FP数现在都有0 < be <(all 1)。因此,这些特殊的有偏指数0(all 1)现在可以保留用于特殊目的。

  • be = 0, mf = 0:精确0
  • be = 0, mf ≠ 0:一个非规范化的数字,即mf是没有前导1的实数尾数
  • be = (all 1), mf = 0:无限
  • be = (all 1), mf ≠ 0:不是数字(NaN(

相关内容

  • 没有找到相关文章

最新更新