用c语言编程,输出所有整数型、浮点型和字符型变量或常量在存储器中所占的字节数
5个回答
展开全部
类型符号标识符 长度(字节) 数值范围 有符号整型 [signed] int 2 -32768~32767
无符号整型 [signed] short [int] 2 -32768~32767
无符号短整型 unsigned short [int] 2 0~65535
有符号整型 [signed] int/signed[int] 2 -32768~32767
无符号整型 unsigned [int] 2 0~65535
有符号长整型 [signed] long [int] 4 -2147483648~2147483647
无符号长整型 unsigned long [int] 4 0~4294967295
有符号字符型 [signed] char 1 -128~127
无符号字符型 unsigned char 1 0~255
单精度浮点型 float 4 绝对值范围3.4E-38~3.4E+38
双精度浮点型 double 8 绝对值范围1.7E-308~1.7E+308
长双精度浮点型 long double 10 绝对值范围3.4E-4932~1.1E+4932
说明:
(1)表中方括号的内容表示是“可选的”,即有或无作用相同。
(2)ANSI C中没有规定各种整型所占的字节数,但是要求 long 类型数据的长度不小于 int 类型。例如,Turbo C 中规定 short 型占2个字节,long 型占4字节。此外,ANSI C 99 中比Turbo C 多了一个 long long int 类型。
(3)ANSI C 中没有具体规定各种浮点类型数据的长度、精度和数值范围,但是要求 float 类型的数值范围小于 double 类型,double 类型的数值范围小于 long double 类型。例如,Turbo C 中规定 long double 型占10个字节,而Visual C++6.0中规定 long double 型占8个字节。
(4)无符号整数(unsigned int)在机内存储时,最高位不是符号位,而是数据本身的一部分。因此无符号证书如果用2字节存储,则数值范围是0~65535(2的十六次方减去1为65535。
无符号整型 [signed] short [int] 2 -32768~32767
无符号短整型 unsigned short [int] 2 0~65535
有符号整型 [signed] int/signed[int] 2 -32768~32767
无符号整型 unsigned [int] 2 0~65535
有符号长整型 [signed] long [int] 4 -2147483648~2147483647
无符号长整型 unsigned long [int] 4 0~4294967295
有符号字符型 [signed] char 1 -128~127
无符号字符型 unsigned char 1 0~255
单精度浮点型 float 4 绝对值范围3.4E-38~3.4E+38
双精度浮点型 double 8 绝对值范围1.7E-308~1.7E+308
长双精度浮点型 long double 10 绝对值范围3.4E-4932~1.1E+4932
说明:
(1)表中方括号的内容表示是“可选的”,即有或无作用相同。
(2)ANSI C中没有规定各种整型所占的字节数,但是要求 long 类型数据的长度不小于 int 类型。例如,Turbo C 中规定 short 型占2个字节,long 型占4字节。此外,ANSI C 99 中比Turbo C 多了一个 long long int 类型。
(3)ANSI C 中没有具体规定各种浮点类型数据的长度、精度和数值范围,但是要求 float 类型的数值范围小于 double 类型,double 类型的数值范围小于 long double 类型。例如,Turbo C 中规定 long double 型占10个字节,而Visual C++6.0中规定 long double 型占8个字节。
(4)无符号整数(unsigned int)在机内存储时,最高位不是符号位,而是数据本身的一部分。因此无符号证书如果用2字节存储,则数值范围是0~65535(2的十六次方减去1为65535。
展开全部
整型2~4,浮点型4~8,字符型1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用sizeof();就行了
cout<<sizeof(int)<<" "<<sizeof(float)<<" "<<sizeof(char)<<endl;
cout<<sizeof(int)<<" "<<sizeof(float)<<" "<<sizeof(char)<<endl;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf("%d %d %d ", sizeof(int), sizeof(float), sizeof(char));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询