【问题标题】:C++17 And the Current State of Decimal Floating PointC++17 和十进制浮点的当前状态
【发布时间】:2017-08-07 17:21:12
【问题描述】:

C++中十进制浮点的现状如何?我特别关注语言包容性、标准合规性和可移植性的状态。

有许多基于现有标准(尤其是 IEEE754-2008)的“官方”库,这些标准被认为是纳入标准的基础:

此外,还有一个 proposal 可以将十进制浮点数添加到 C++14。根据this post 中的提议者的说法,它没有及时提交以包含在内(参见 cmets 的回答)。

我还检查了C++17 features 的大量来源,但我找不到十进制浮点数。

我知道一些编译器(例如 GCC 和 Clang)已经根据他们相信规范的样子实现了自己的扩展。但是,这些扩展显然无法为尚未正式批准的规范提供完全支持/可移植性(据我所知)。

2017 年 8 月,官方十进制浮点支持的进展如何?

【问题讨论】:

  • 这甚至是主题吗?如果不是,我什至不确定这会在哪个交换站点下。
  • @snb 当然不在任何元站点。我认为问题是on-topic
  • @snb 它与编程相关并且可以回答,所以我会说它是主题。
  • 根据this,N3407 没有状态
  • 据我所知,该文件最后一次更新是在 2013 年。从那以后真的没有任何进展吗?

标签: c++ floating-point language-lawyer c++17


【解决方案1】:

C++17 is feature-complete 在这一点上,并出去进行最后的投票。所以whatever is there right now 就是最终 ISO 投票时的内容,当然是模数错误/缺陷。

十进制浮点数没有被投票,所以它们不会出现在 C++17 中。上一篇关于该主题的论文 N3871 写于 2014 年。所以很明显,没有人真正试图推动它向前发展。

【讨论】:

  • 他们可能正在等待 C Decimal TS 的最终迭代,为此进行了大量工作。它的某些部分(可能在 C++ 中采用的部分)针对下一个 C 标准版本 C2x。
  • @Morwenn:实际上,我并没有真正在等待任何事情,尽管如果我开始研究将其纳入 C++ 的提案,我可能会看看 C Decimal TS。从本质上讲,我无法处理提案。
  • @DietmarKühl 我几乎感到失望,将 C TS 的所有工作合并到标准中以飞色 D 获得十进制浮点数实际上并不是一个微妙的计划:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-04
  • 1970-01-01
  • 1970-01-01
  • 2014-11-18
  • 2011-07-25
相关资源
最近更新 更多