猿问
下载APP

char保证恰好是8位长吗?

char保证恰好是8位长吗?

就这样。没有找到任何类似的话题所以请耐心等待。



慕圣8478803
浏览 55回答 3
3回答

PIPIONE

从ANSI C规范的副本,请参见第3.1.2.5节 - 类型:声明为char类型的对象足够大,可以存储基本执行字符集的任何成员。如果$ 2.2.1中枚举的所需源字符集的成员存储在char对象中,则其值保证为正。如果其他数量存储在char对象中,则行为是实现定义的:值被视为有符号或非负整数。第2.2.1节 - 字符集中介绍了“执行字符集”的概念。换句话说,char必须至少足够大以包含构成基本执行字符集的至少95个不同字符的编码。现在添加2.2.4.2节- 数值限制符合要求的实施应记录本节规定的所有限制,应在标题<limits.h>和&nbsp;规定中规定<float.h>。整数类型的大小下面给出的值应替换为适用于#if预处理指令的常量表达式。它们的实现定义值的大小(绝对值)应等于或大于显示的值,并带有相同的符号。最小对象的最大位数,不是位字段(字节)CHAR_BIT 8signed char&nbsp;SCHAR_MIN -127&nbsp;类型的对象的最小值signed char&nbsp;SCHAR_MAX +127&nbsp;类型的对象的最大值unsigned char&nbsp;UCHAR_MAX 255&nbsp;类型的对象的最大值....所以你有它 - char中的位数必须至少为&nbsp;8。

精慕HU

不,它不能保证是8位。sizeof(char)保证为1,但这并不一定意味着一个8位字节。

米琪卡哇伊

no,char数据类型必须至少包含8位(参见ANSI C规范)
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答