ISO C标准要求CHAR_BIT
至少为8。
POSIX强制CHAR_BIT
等于8,并且(几乎?)使用八位字节的所有网络和通信标准,是否有任何当代C实现CHAR_BIT
> 8?
(注意:我对使用18或36位字的历史计算机体系结构不感兴趣。它确实是关于C的问题,因为它现在用于当前硬件;考虑使用C99或更高版本的系统实现)。
答案 0 :(得分:14)
TMS320C28x DSP具有16位的字节。
编译器的 Documentation将CHAR_BIT
指定为第101页的16。
这似乎是一个现代处理器(目前正在销售),支持C99和C ++ 03的编译器。
答案 1 :(得分:9)
另一个例子是ADI公司' SHARC processor family。
其C实现CrossCore Embedded Studio具有CHAR_BIT == 32
和claims,以提供独立的C99和C ++ 11一致性。
答案 2 :(得分:1)
ADI公司'已经提到了SHARC DSP(CHAR_BIT == 32)。让我补充一点,最近的 SHARC + 核心(我使用ADSP-SC589和CCES工具链)可以运行以两种模式编写的应用程序: CHAR_BIT == 8 或 CHAR_BIT == 32 即可。您甚至可以在一个应用中将两种模式混合组合在一起。虽然我不建议将其用于开发,但我发现它在移植代码时很有用。