为什么负归一化浮点二进制数不能以 11 开头?

Tri*_*ren 5 binary normalization floating negative-number twos-complement

在学习 A Level 计算时,教科书、试题和老师反复告诉我们,如果负归一化浮点二进制数以 11 开头,那么它就不是归一化的。

对于负 11 的二进制补码,它可以写为 10101,因此标准化形式的数字将是 10101 00100,这遵循数字开头没有 11 的规则

但对于负 1,二进制补码版本是 11111,那么规范化版本会是什么,11111 00100 可以工作,但违反了规则,011111 00101 使数字为正数并使用了太多位,10111 00100 使负 9 而不是负 1

基本上为什么数字不能以 11 开头以及如何用解释来表示负一?

小智 1

你是对的,二进制 -1 的规范化版本是 1.100 0001

这类数学的问题在于没有人真正做到这一点。所以你会发现很难找到这个领域的“专家”。0.1 和 1.0 规则对于学习这个概念很有用。然而,概念规则并不总是适用于现实世界。标准化的目的是在给定的范围内保持尽可能高的准确性。因此,如果您要使指数 0010 符合您的规则... 1.010 0010 您将失去准确性(不是在 -1 的情况下),但潜力是存在的。