c++ - C++ 标准是否需要二进制机器?

标签 c++ language-lawyer

我在标准中发现:

The representations of integral types shall define values by use of a pure binary numeration system

但我的理解是,这并不是C++必须在硬件上基于base 2的机器上实现的要求;换句话说,这似乎只是对程序员应该看到的内容的要求。

C++ 标准是否需要二进制 CPU,或者是否可以在三进制或十进制机器上实现有效的 C++ 实现?


微小的背景信息:在历史上,已经出现了具有十进制、三进制的计算机,或者 C++ 字节长度为 36 位的计算机 (PDP-10)

最佳答案

虽然从未在标准中直接说明,但有一个“好像”规则适用于 C++(和 C)标准中的所有要求。

换句话说,只要您产生与遵守规定的规则相同的外部可观察效果,​​您就可以违反任何规则。尽管标准本身并未说明,但此规则Rationale 中明确说明对于C标准。据我所知,C++ 标准没有匹配的基本原理,但两者密切相关,我认为将规则应用于两者几乎没有问题。

关于c++ - C++ 标准是否需要二进制机器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12823034/

相关文章:

c - #define struct union 和#define else 仍然可以编译任何C 程序吗?

C++11 替代 boost::checked_delete

c - ISO C 是否允许对提供给 main() 的 argv[] 指针使用别名?

c++ - Bison 将 C 函数指针作为函数调用?

c++ - 使用 msys2 构建 OpenBlas

c++ - (光线追踪)转换为屏幕坐标时出现问题,对象被拉伸(stretch)

c++ - int8_t 和 uint8_t 是 char 类型吗?

c++ - 使用标准 :vector as low level buffer

c++ - 未定义的函数引用,当在 Windows 上使用 if 定义时(在 Linux 上可以)

c++ - 寻找时间序列数据的 C++ 数据仓库