次普通数是否具有隐式0?

时间:2018-12-10 10:26:30

标签: floating-point ieee-754 mantissa

我试图了解什么是次正规数,我想将指数固定在-127并使该数字变小,将隐式1替换为隐式0。这听起来正确吗?

1 个答案:

答案 0 :(得分:1)

在IEEE-754基本32位二进制格式中,次正规数的指数为-126,而不是-127。有效位的前导位确实为零。

对于任何IEEE-754二进制格式,让:

  • p 是全有效位的位数(“ p”表示精度,24位表示32位格式), bias 是用于编码的偏差指数(对于32位格式为127),并且
  • S 是符号字段中的位, E 是指数字段中的位, T 是结尾的位有效域。

如果 E 并非全为零或全为1,则表示的值为正常数。其值为(−1) S •2 E - bias •( 1 + 2 1− p •T)。该项1 + 2 1-−em> p •T可能被描绘为一个位,后跟一个小数点,后跟 T 位: “ 1. T ”。

如果 E 全为零,则表示的值为零(如果 T 为零)或次正规数。其值为(−1) S •2 1− bias •(0 + 2 1 - p •T)。请注意从正常值的两个变化:指数是1− bias 而不是 E bias ,并且前导位是0而不是1

请注意,最小法线值和次法线值的指数为1- bias ,对于32位格式,其值为1-127 = -126。从正常值过渡到次正常值时,我们不会同时更改指数和前导位,因为这会导致可表示值的跳跃。因此,次标准值与最小的标准值具有相同的指数。只是前导发生了变化。