CHAR_BIT是> 8?

Jen*_*ens 15 c byte char bit

ISO C标准要求CHAR_BIT至少为8.

POSIX强制CHAR_BIT等于8,并且(几乎?)所有使用八位字节的网络和通信标准,是否有任何当代C实现CHAR_BIT> 8?

(注意:我对使用18或36位字的历史计算机体系结构不感兴趣.这是关于C的真正问题,因为它在当前的硬件上使用;考虑使用C99或更高版本的系统).

250*_*501 16

德州仪器(TI)的TMS320C28x DSP具有16位字节.

编译器的文档CHAR_BIT在第101页上指定为16.

这似乎是一个现代处理器(目前正在销售),编译器支持C99和C++ 03.

  • 两个出色的答案使选择赏金赢家变得困难。所以我掷了一个骰子……你们中的一个得到“接受”分数,另一个得到赏金。 (2认同)

a3f*_*a3f 12

另一个例子是ADI公司的SHARC处理器系列.它的C实现,CrossCore Embedded Studio,CHAR_BIT == 32声称提供独立的C99和C++ 11一致性.


Pet*_*řek 8

Analog Devices 的 SHARC DSP 已被提及 (CHAR_BIT==32)。让我补充一下,最近的SHARC+内核(我使用 ADSP-SC589 和 CCES 工具链)可以运行以两种模式编写的应用程序:CHAR_BIT == 8CHAR_BIT == 32。您甚至可以在一个应用程序中将两种模式混合搭配在一起。虽然我一般不建议将其用于开发,但我发现它在移植代码时很有用。