小编典典

标准委员会关心的异乎寻常的架构

all

我知道 C 和 C++ 标准保留了语言实现的许多方面,只是因为如果存在具有其他特征的体系结构,那么为它编写符合标准的编译器将非常困难或不可能。

我知道 40 年前,任何计算机都有自己独特的规格。但是,我不知道今天使用的任何架构:

  • CHAR_BIT != 8
  • signed不是二进制补码(我听说 Java 对此有问题)。
  • 浮点不符合 IEEE 754(编辑:我的意思是“不在 IEEE 754 二进制编码中”)。

我问的原因是,我经常向人们解释说,C++
不要求任何其他低级方面(如固定大小的类型)很好。这很好,因为与“其他语言”不同,它使您的代码在正确使用时可移植(编辑:因为它可以移植到更多架构而无需模拟机器的低级方面,例如符号+幅度架构上的二进制补码算法)
. 但是我很难自己指出任何特定的架构。

所以问题是:哪些架构具有上述特性?

uint*_ts 是可选的。


阅读 61

收藏
2022-08-29

共1个答案

小编典典

看看这个

Unisys ClearPath Dorado 服务器

为尚未迁移所有 Univac 软件的用户提供向后兼容性。

关键点:

  • 36 位字
  • CHAR_BIT == 9
  • 补码
  • 72 位非 IEEE 浮点
  • 代码和数据的独立地址空间
  • 字地址
  • 没有专用的堆栈指针

虽然不知道他们是否提供 C++ 编译器,但他们 可以.


现在,他们的 C 手册最新版本的链接已经浮出水面:

Unisys C
编译器编程参考手册

第 4.5 节有一个 9、18、36 和 72 位的数据类型表。

![USC C 编译器中数据类型的大小和范围]https://i.stack.imgur.com/tDAf0pi.png)

2022-08-29