一个字节中的位数 - C 标准

phy*_*ist 3 c implementation-defined-behavior

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

从 C99,3.6(可在此处链接

3.6 字节

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

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

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

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

Mat*_*lia 5

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