在C#中以科学计数法显示IEEE-754四倍精度(二进制128)浮点值

Pol*_*ial 5 c# math floating-point ieee-754

我正在尝试将原始二进制数据从线程上下文转换为人类可读的格式,并且在尝试将四倍精度浮点值转换为C#中的可读格式时出现空白.

最后,我想用标准科学记数法显示它,例如1.234567×10 89.我并不担心过程中精度的损失 - 我只是想要了解价值是什么.

我的第一个想法是通过提高指数手动计算值为double,但当然在很多情况下我会超过最大值.我不介意失去精确度,但根本无法显示它是不可接受的.

我可以使用某种简单的数学黑客吗?

Jep*_*sen 3

您可以安装一个第三方库来处理这个问题。例如,看起来QPFloat为您提供了一个新的struct名称System.Quadruple,称为 overrides ToString,所以您可以尝试一下。

(我想知道 .NET 什么时候会支持类似的东西System.Quadruple。)