根据p1236r1,现在的整数类型是用数字定义的,不再使用位。
type minimum range exponent N
signed char 8
short 16
int 16
long 32
long long 64
C 选择不这样做,而不是定义"位"的含义,而是选择不这样做,而是在range exponent
的任期内定义了这些类型。
为什么?
为什么最好不要依赖单词" bit"?
该提案中的"不可观察的位"是什么?
P1236R1是C 20
根据ISO规则,ISO C 委员会的审议是私人的,无法与整个编程社区共享。该委员会发布了有关此事的以下信息(第1857期):
注释2014年6月会议:
cwg决定重新重新重新制定操作本身的描述,以避免参考位,分散定义"位"等更大的问题,以便进一步考虑。
。
问题1861包含类似的语言。
我没有参加这次会议,但是 bit 已经在ISO/IEC 2382中有一个定义(这是C 标准的规范参考):
位
二进制数字
在二进制系统中使用的数字0或1
此定义显然不适合C 标准中的许多潜在用途,例如谈论A sign bit (这意味着在类型/word中的特定位置)或<整数类型的em> width(以位)。整数类型的em>