我在标准中发现:
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/