c语言的字长
‘壹’ c语言中int short long 的具体区别是什么
三种类型,在类型定义、占用字节数、数据范围等方面存在不同点。
1、定义不同
int类型称为整型;
short类型称为短整型;
long类型称为长整型;
2、占用字节数不同
short int型变量两个字节(两个字节);
int类型四个字节(32位机中);
long int取值为8个字节(32位机中);
3、数据范围不同
short int型变量取值为-(2的16次方)+1 到 (2的15次方)-1;
int类型变量取值为-(2的32次方)+1 到 (2的31次方)-1;
long类型变量取值为-(2的64次方)+1 到 (2的63次方)-1;
(1)c语言的字长扩展阅读
1、具体占用几个字节C语言并没有规定,C语言做了宽泛的限制:
1)、short int类型至少占用2个字节。
2)、int类型建议为一个机器字长。32位环境下机器字长为4字节,64位环境下机器字长为8字节。
3)、short类型的长度不能大于 int,long类型的长度不能小于 int。
参考资料
网络-C语言
‘贰’ C语言的char,short,int和long类型分别有多长
char就是1字节(固定不变),short不少于2字节,int不少于short,long不少于4字节,且long不少于int,long long不少于long。
除了char,其他整型范围都是相对而言的,确保后一种的宽度不低于前一种即可(可能相等),在不同的年代,计算机硬件发展不同,内存、外存容量也不同,主流编译器在设计的时候会综合考虑计算机硬件的情况,来设计每一种数据类型的实际宽度。
char型在任何情况下都是占1个字节,而比如int型,它的长度与环境的字长相同,在16位的环境中,它占16位,2个字节;32位环境中占4个字节。
(2)c语言的字长扩展阅读
在C语言中可以用sizeof运算符,获取数据类型或者变量所占的内存字节数。示例代码如下:
#includeintmain()
{
printf("%d %d %d ",sizeof(int),sizeof(short),sizeof(long));
return0;
}
‘叁’ c语言类型所占字节数
类型
常见的有char、int、long、short、float、double及指针等.
字符类型
这里单只char,char变量在内存中存储的是字符对应的ASCII码值。所以长度也是固定的,为1个字节。
整数类型
查了资料发现对各个类型的整数占用字节数是有一个规定的,虽然16位32位或者64位的机子各种类型所占用的长度并不一样。规则如下:
short 至少占用2个字节。
int 建议为一个机器字长。32位环境下机器字长为4字节,64位环境下机器字长为8字节。
short 的长度不能大于 int,long 的长度不能小于 int。
所以说,short并不一定短,long并不一定短,有可能都和int一样长。
浮点数(小数)
C中浮点数有两种,float和double,不像整数,小数的长度始终是固定的,float占用4个字节,double占用8个字节。
指针
C中指针即为地址,所以编辑器的寻址空间则是指针的地址范围。所以指针变量在32位机器的寻址空间为2^32,要将所有地址都表示出来则需要为4个字节长度,所以要占用4个字节长度。同理64位的编译器则需要8个字节长度。
‘肆’ 一个数字在C语言中是多少个字节
一个数字在C语言中是2、4、8个字节,以int类型、float类型和double类型来表示。
int类型占用2字节内存,表示整数,数据范围在-2^31~2^31-1(-2147483648~2147483647)之间。
float类型占用4字节内存,表示单精度浮点数,数据范围在-2^128 ~ 2^128(-3.40E+38 ~ +3.40E+38)之间。
double类型占用8字节内存,表示双精度浮点数,数据范围在-2^256 ~ 2^256(-1.90E+308 ~ +1.80E+308)之间。
(4)c语言的字长扩展阅读:
双精度浮点型类型数值可转换到其他类型的整数或浮点数,反之亦然。双精度浮点型常量的最后一个字符可加上“d”或“D”。其存储格式与浮点型类似,最高位为符号位,次高11位为指数位,其次52位为尾数。
双精度浮点型同数值型比,它能提供更高的数值精度,采用固定存储长度的浮点数形式,每个双精度浮点型数据占8个字节。与数值型数据不同,它的小数点位置是由输入的数据值来决定的,并且只能用于表中的字段。
‘伍’ C语言字符数占几个字节,又是多少位。
对于几乎所有的机器,1字节均为8位,这是字节的标准定义,至少在衡量存储单位时是这样。但是C语言有自己的定义:一个字节为char类型占用的位(bit)数。