Floating point 十进制到浮点9位

Floating point 十进制到浮点9位,floating-point,Floating Point,如何将106十进制转换为9位浮点,其中msb是具有4位指数和4位尾数的符号?可能吗 根据OP的评论,所讨论的浮点格式遵循IEEE-754约定,因此它使用带隐式整数位的尾数表示法,以及带偏差的指数,最小指数编码保留用于零和非规范,最大指数编码保留用于无穷和非规范 106(十进制)=1.10101*26(二进制)。在建议的IEEE风格的九位浮点格式中,指数偏差为7。规格化操作数的大小为2-6≦ |x |

如何将106十进制转换为9位浮点,其中msb是具有4位指数和4位尾数的符号?可能吗

根据OP的评论,所讨论的浮点格式遵循IEEE-754约定,因此它使用带隐式整数位的尾数表示法,以及带偏差的指数,最小指数编码保留用于零和非规范,最大指数编码保留用于无穷和非规范

106(十进制)=1.10101*26(二进制)。在建议的IEEE风格的九位浮点格式中,指数偏差为7。规格化操作数的大小为2-6≦ |x |<28。因此,106在可表示范围内,因为28=256


然而,106不能精确表示,因为它需要五个小数尾数位,而提议的格式只提供四个。使用四舍五入至最接近或偶数,最接近的可表示数字为1.1010*26=104。其二进制编码为0_1101_1010。

为了得出答案,了解此浮点格式是否遵循IEEE-754二进制浮点格式的约定将非常有用。特别是,它是否使用有偏指数,指数值0保留用于零和非规范,指数值0xF(即十进制15)保留用于无穷大和NaN?“IEEE 754”本身并不足够,因为IEEE 754没有指定9位格式。例如,我们仍然需要知道指数偏差是什么。(基于现有的IEEE 754格式,我猜指数偏差为7,但这是一个猜测。)如果你有相应位模式的示例值,这将有助于理解格式。啊,好的。是的,有偏见。我非常确定njuffa做出了正确的假设。我认为您想要2^8=256(因此
106
在可表示范围内,尽管在四舍五入之前实际上不可表示)。106是
1.10101*2^6
,而不是
1.10101*2^8
@MarkDickinson:你是绝对正确的,不知道我是怎么弄错的,除了第一杯咖啡之前的那篇文章。我会马上解决的。是的,很抱歉对一个非常好的答案吹毛求疵。我已经不喜欢这种挑剔了,关注细节对这样的问题非常重要。再次感谢你让我注意到这一点。如果错误的答案在上面停留了很长一段时间,我会感到尴尬。