C++17与十进制浮点数的现状

18

C++中的十进制浮点数目前的状况如何?我特别想了解语言包含、标准符合性和可移植性的情况。

有许多“官方”库基于现有标准(尤其是IEEE754-2008)在流传,这些库被视为标准包含的基础:

此外,有一个建议将十进制浮点数添加到C++14中。根据这篇文章中的建议者的说法,该建议未能及时提交以便包含(请参阅答案的评论部分)。

我还查看了许多关于C++17功能的来源,但我找不到任何关于十进制浮点数的提及。

我知道一些编译器(例如GCC和Clang)已经基于他们认为规范将会是什么样子实现了自己的扩展。然而,这些扩展显然不能为一个尚未正式批准的规范提供完整的支持/可移植性(就我所知)。

到2017年8月,官方的十进制浮点数支持处于何种状态?


这与编程有关吗?如果不是,我甚至不确定应该在哪个交流网站发布。 - Krupip
3
当然不是在任何元网站上。我认为这个问题是“切题”的。 - user0042
5
@snb 这与编程有关,可以回答,因此我认为它是相关主题。 - hnefatl
1
根据此链接,N3407没有状态。 - NathanOliver
2
据我所知,该文档最后更新于2013年。自那以后真的没有任何进展吗? - MysteryMoose
@phobos51594 哦,没看到。你可以在这里获取更多当前的列表(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/#Post-C++11)。话虽如此,我发现这篇文章(https://wongmichael.com/category/c/)说很可能不会有更新。我正在努力寻找更具体的信息。 - NathanOliver
1个回答

8

目前 C++17 版本已经 完成特性, 并且正在进行最终投票。因此,现在所存在的将会在最终的ISO投票时被采用,当然除了错误/缺陷。

十进制浮点数没有获得通过,因此它们不会出现在 C++17 中。最后一篇有关该主题的论文N3871是在2014年写的。因此似乎没有人真正试图推动它的发展。


2
他们可能正在等待C Decimal TS的最终迭代,对此已进行了广泛的工作。其中一些部分(可能会在C++中采用)针对下一个C标准修订版C2x。 - Morwenn
1
@Morwenn:实际上,我并没有在等待任何东西,不过如果我开始为纳入C ++的提案制定建议,我可能会查看C Decimal TS。本质上,我无法处理这个提案的工作。 - Dietmar Kühl
@DietmarKühl 我几乎感到失望,因为这不是一个巧妙的计划,将C TS的所有工作纳入标准中,并以飞跃的成绩获得十进制浮点数:D - Morwenn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接