As we all no doubt know,ISO C标准(以及C ++,我认为,虽然我对C方更感兴趣)允许签名数字的三个基础表示:
维基百科的条目表明,60年代的IBM 7090上使用了标志/数量级,而且补充用于PDP-1,CDC 160A和UNIVAC 1100,所有这些都可以追溯到60年代。
是否有其他任何C(或底层硬件)与这些替代表示的实现,这些表示最近出现的时间比五十年前更早(以及它们是什么)?
对于不再存在的机器,保留一些标准似乎有点浪费。
答案 0 :(得分:31)
我能找到的最新例子是UNISYS 2200系列,基于UNIVAC,有一个补码算术。各种模型是在1986年至1997年间制作的,但操作系统仍在积极发展as late as 2015。他们还有一个C编译器,如here所示。
它们似乎可能仍在使用中。
答案 1 :(得分:6)
我没有任何确凿证据证明没有,但我从未见过。据我所知,所有非二进制补码硬件在C标准化之前就已经过时了。
收集证据的最佳方法可能是寻找与非二元补充系统相关的标准中的冲突要求和其他彻底错误。如果从未创建过这样的实现,那么当某人实际尝试制作一个实体时,规范中可能会出现疏忽。