DrP*_*268 3 floating-point binary floating-accuracy
我只是对尾数位有点困惑。
在我的练习考试中,我被要求将小数转换为浮点数。按照 1 个符号位、4 个指数位和 5 个尾数位计算,数字 132 根据我们的答案如下表示:
0 1110 00001
对于上面的表示,我的实际尾数位是 0000100。
由于我只给出了 5 位尾数,这是否意味着我们只计算最左边的 5 位,然后丢弃后面的任何内容?
例如,如果我有其他数字 0000101,我是否会丢弃最后两位,它仍然是 00001?谢谢你!
Eri*_*hil 10
在表示浮点数的位 0 1110 00001 中:
\n这些位的解释为:
\n为了编码 00000101,我们不从给出的第一位开始。我们找到第一个有效数字,对于二进制来说,它是第一个 1 位。在 00000101 中,第一个 1 位位于位置 2(对应于值 2 2)。然后,为了形成有效数,我们从那里取出六位,而不是五位。尾数字段为 5 位,但尾数为 6 位,因为对于正常范围内的数字,它包括通过指数字段编码的前导一位。在 00000101 中,有效数所需的六位是 101000。后三位是隐式的。所以有效数是 1.01000。
\n为了对这个正数、指数为 2、有效数字为 1.01000 的数字进行编码,我们使用 0 作为符号位,使用 2+7 作为指数字段,使用 01000 作为有效数字字段,因此编码为 0 1001 01000。
\n如果数字的前六位有效数字后面有非零位,则无法以这种浮点格式表示实际数字。在这种情况下,我们可以声明无法完成转换的错误,或者可以将数字舍入到最接近的可表示值。大多数情况下,舍入是通过将数字舍入到最接近的可表示值\xe2\x80\x94 来完成的,如果有效数后面的位以 0 开头,则向下舍入。如果它们以 1 开头并且在某处至少包含一个 1,则向上舍入。如果它们以 1 开头并且之后的所有数字都是零,则该数字位于两个可表示值之间的中间,通常的规则是选择具有偶数低位的可表示值(使有效数的最后一位为 0)。
\n1 \xe2\x80\x9cSignificand\xe2\x80\x9d 是浮点数的小数部分(相对于指数或符号)的首选术语。\xe2\x80\x9cMantissa\xe2\x80\x9d 是对数小数部分的旧术语。尾数是对数;添加到尾数将乘以所表示的数字。有效数是线性的;有效数乘以所表示的数字。
\n2如果指数字段e全为零,则它表示 1 减去偏差的指数,有效数字字段被解释为 \xe2\x80\x9c0.\xe2\x80\x9d 后跟该字段的位,而不是\xe2\x80\x9c1。\xe2\x80\x9d。
\n