2

为什么像字节中的位数这样基本的东西被 C 标准保持为实现定义?有没有可能有用的例子?

从 C99 , 3.6 (在此处可用链接

3.6 字节

可寻址的数据存储单元,大到足以容纳执行环境的基本字符集的任何成员

注 1 可以唯一地表示对象的每个单独字节的地址。

注2 :一个字节由一个连续的比特序列组成,其数量由实现定义。最低有效位称为低位;最高有效位称为高位。

编辑:我在问一些基本的问题,为什么 C 标准在字节大小的位数方面提供了灵活性。没有更具体地询问 sizeof(char) 有什么好处 CHAR_BIT != 8。如果问题仍然看起来重复,请投反对票,我将关闭问题。

4

1 回答 1

4

许多较旧的机器和当今的 DSP 具有更大的字节(例如:它们只能以 16 位的倍数寻址内存)。当然,您不想遗漏嵌入式世界的一个重要部分。

于 2018-02-22T19:43:18.980 回答