我知道C和C ++标准留下了语言实现定义的许多方面,只是因为如果存在具有其他特征的体系结构,那么将很难或不可能为其编写符合标准的编译器。
我知道40年前,任何计算机都有其自己的独特规范。但是,我不知道今天使用的任何架构在哪里:
CHAR_BIT != 8
signed
不是两个的补码(我听说Java对此有问题)。- 浮点不符合IEEE 754(编辑:我的意思是“不是采用IEEE 754二进制编码”)。
我问的原因是,我经常向人们解释,C ++不要求其他任何低级方面(例如固定大小的类型†)是很好的。很好,因为与“其他语言”不同,它可以使您的代码在正确使用时可移植(编辑:因为可以将其移植到更多体系结构中,而无需模拟机器的低级方面,例如,符号+幅值体系中的二进制补码算法) 。但是我很难为自己不能指出任何特定的体系结构。
所以问题是:哪些架构具有上述特性?
† uint*_t
是可选的。