一个数字在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)之间。
扩展资料:
双精度浮点型类型数值可转换到其他类型的整数或浮点数,反之亦然。双精度浮点型常量的最后一个字符可加上“d”或“D”。其存储格式与浮点型类似,最高位为符号位,次高11位为指数位,其次52位为尾数。
双精度浮点型同数值型比,它能提供更高的数值精度,采用固定存储长度的浮点数形式,每个双精度浮点型数据占8个字节。与数值型数据不同,它的小数点位置是由输入的数据值来决定的,并且只能用于表中的字段。
在C语言中,一个数字占4个字节或8个字节。(以下试验都是基于32位计算机系统)
当该数字为整数时,占4个字节(默认转换为int类型);
当该数字为小数时,占8个字节(默认转换为double类型)。
可以通过如下的程序段来验证:
printf("%d\n", sizeof(4)); // 输出4,即占4个字节(转换为int类型,相当于sizeof(int))
printf("%d\n", sizeof(4.5)); // 输出8,即占8个字节(转换为double类型,相当于sizeof(double))
一个英文字母,数字-----占7/8字节,就是7个2进制位,第八个有其他用,比如奇偶校验,因此可以算占一个字节。(8个Bit位)
一个中文字-------占二个字节
整数要根据类型,一般是极其的字长。比如16位机整数就是16位Bit,两个字节。32位机就是4字节。还有int64
类型的整数。
至于实数在C中,有32位(float)和64位(double)之分。其他语言中有类型80位的,叫扩展精度实数.主要是在cpu内部的扩展精度实数寄存器,是80位的。保证在double实数运算是不损失精度。
A:不是的。不是每个数字占多少字节,这种表述就是错的。应该说“一个整型数占4个字节”。不过,整型的范围不同的编译器及操作系统,所占的字节数也不一样。在C中没有规定一个int具体应该占多少字节,只是规定了一个范围(好像是2-4个字节吧)。你可以用sizeof(int)来测试。