是否有一些聪明而可靠的方法来打印一系列比特作为IEEE-754而不实际使用float类型?
我找到了一种打印分数的方法,它允许我将浮点数表示为分数。然而,我后来意识到指数的范围可能在-127到128之间(经过偏置调整),这可能导致乘法mantissa * 2^128
。分数法依赖于将分子表示为整数,我需要一个非常大的整数来做这个乘法。我的意思是,我可以用"习惯"这个词。类型来表示这个大值(例如https://gmplib.org/),但我希望避免这样做。如果我们乘以10^x,我可以简单地调整小数点并加上一些零,但遗憾的是,情况也不是这样。
我没能找到任何提到任何解决方案的东西。可能是因为google "print from
之类的东西为什么我实际上要这样做?我这样做只是为了更好地理解浮动(特别是IEEE-754)是如何工作的,我发现做一些实际的例子总是有帮助的。所以我想"嘿,为什么不试着把它编码呢?">没有实际应用(我知道)!
所以,几乎在发布这篇文章之后,我终于成功地找到了我一直在寻找的资源。
https://www.ryanjuckett.com/printing-floating-point-numbers/讨论了它,并参考了其他相关来源。