在我们的数值方法课程中,我们正在理论课程中学习一种浮点表示形式,而在实验室课程中正在学习另一种类型的浮点表示形式。我们两个都有不同的老师,他们不会在后续课程中讨论的主题上进行协作。
在理论课上,我们被告知浮动代表这样:
其中d_1为总是1。未告知其他条件/约束。我们称之为A。
在实验课上,我们学习了IEEE-754格式:
其中e仅在为000时才为1,如果为111并且尾数为0000,则为无穷大;如果为111并且尾数为XXXX,则不是数字。我们称之为B。
这是我所了解的,当涉及到找到最小非零数字时。
在A中,e变为e_min-3,即0-3。意思是,总数为0.1 * 2 ^ -3,即2 ^ -4。
但是在B中,最小的非零法线是1 * 2 ^(1-3),即2 ^ -2;并且最小的非零非正规数为0.0001 * 2 ^(1-3),即2 ^ -4 * 2 ^ -2,即2 ^ -6。
即使它们都被认为是正确的表示形式,它们也不匹配。我可以找到的所有其他来源都只能遵循IEEE-754格式,或者只是声明可以通过简单地更改小数点和指数的位置来表示常规数字。但是没有人告诉我它们之间的关系,例如从21:50开始的这个人here。
我要去哪里错了?如何获得相同的值?它们有什么关系?
我同意他们不匹配。
“”是大多数二进制浮点数在IEEE-754出现之前的工作方式。
[很多边缘情况没有得到很好的处理。因此,在80年代初期出现了754(“ B”)。
最小数字:
A:0.100 ... 00,其中A的最小指数B:0.000 ... 01,其中B的最小指数
几乎每个商业浮点实现都遵循IEEE-754;是古代历史的“ A”。