相关疑难解决方法(0)

C标准支持的平台列表

有没有人知道C标准支持的任何平台,对于这些平台仍然有积极的开发工作,但它们是:

  • 不是2的补充或
  • 整数宽度不是32位或64位或
  • 某些整数类型有填充位或
  • 如果您使用2的补码机器,符号位1和所有值位0的位模式不是有效的负数或
  • 从有符号到无符号的整数转换(反之亦然)不是通过逐字复制位模式或
  • 整数的右移不是算术移位或
  • 无符号类型中的值位数不是相应有符号类型+ 1或中的值位数
  • 从较宽的int类型转换为较小的类型不是通过截断不适合的最左边的位

编辑:或者,如果1995年至1998年期间有平台影响了C99决定包括上述内容,但已停止使用,我也会对它们感兴趣.

编辑:C理由有关填充位的说法:

填充位是用户可访问的无符号整数类型.例如,假设一台机器使用一对16位短路(每个都有自己的符号位)来构成一个32位的int,并且当在这个32位int中使用时,忽略较低short的符号位.然后,作为32位有符号整数,在确定32位有符号int的值时会忽略一个填充位(在32位的中间).但是,如果将此32位项目视为32位无符号整数,则该填充位对用户程序可见.C委员会被告知有一台机器以这种方式工作,这就是填充位被添加到C99的一个原因.

脚注44和45提到奇偶校验位可能是填充位.委员会不知道任何具有用户可访问的奇偶校验位的机器在整数内.因此,委员会不知道任何将奇偶校验位视为填充位的机器.

所以另一个问题是,C99提到的那台机器是什么?

编辑:看来,C99正在考虑消除对1的补支持和符号的振幅:http://www.open-std.org/jtc1/sc22/wg14/www/docs/n868.htm HTTP://www.open- std.org/jtc1/sc22/wg14/www/docs/n873.htm(搜索6.2.6.2)

c standards

24
推荐指数
5
解决办法
751
查看次数

标签 统计

c ×1

standards ×1