如何规范化浮点二进制中的 110.110?
How to normalise 110.110 in floating point binary?
我正在处理 A-Level Comp Sci 的任务,其中一个问题涉及使用 6 位尾数和 4 位指数对浮点表示形式的数字 110.110 进行归一化。正确的做法是什么?
我不能将小数点移动到尾数 (0.110110) 的开头,因为那样会导致它超过 6 位,但我也不能将小数点移动到第一个 1 (1.10110),因为那样它将充当负号位。我是不带指数就让它保持原样,还是我遗漏了什么?非常感谢。
在 IEEE-754 规范化数字中,尾数始终位于 1.0..2.0
范围内,二进制 1.0000000 ... 1.1111111
。点之前的位总是设置的,所以它被省略了,我们只存储点之后的部分尾数。
在你的情况下 110.110 = 100 * 1.10110
,所以尾数是 10110
(如果需要 6 位则为 101100
)
指数 100
可能存储为 100 + 111 = 1011
(类似于存储为 e+127
的单精度指数)。
IEEE-754 浮点值中的符号位是单独的最左边位。不确定你的格式
所以我假设下一个二进制代码:
0 1011 101100
s eeee mmmmmm
我正在处理 A-Level Comp Sci 的任务,其中一个问题涉及使用 6 位尾数和 4 位指数对浮点表示形式的数字 110.110 进行归一化。正确的做法是什么?
我不能将小数点移动到尾数 (0.110110) 的开头,因为那样会导致它超过 6 位,但我也不能将小数点移动到第一个 1 (1.10110),因为那样它将充当负号位。我是不带指数就让它保持原样,还是我遗漏了什么?非常感谢。
在 IEEE-754 规范化数字中,尾数始终位于 1.0..2.0
范围内,二进制 1.0000000 ... 1.1111111
。点之前的位总是设置的,所以它被省略了,我们只存储点之后的部分尾数。
在你的情况下 110.110 = 100 * 1.10110
,所以尾数是 10110
(如果需要 6 位则为 101100
)
指数 100
可能存储为 100 + 111 = 1011
(类似于存储为 e+127
的单精度指数)。
IEEE-754 浮点值中的符号位是单独的最左边位。不确定你的格式
所以我假设下一个二进制代码:
0 1011 101100
s eeee mmmmmm