在C语言中,int类型、long类型、float类型、double类型和char类型数据,在16位和32位计算机中各占几个字节
发布网友
发布时间:2022-04-23 17:58
我来回答
共5个回答
热心网友
时间:2023-10-12 00:39
基本整形:int 2个字节
短整型:short int 2个字节
长整形:long int 4个字节
无符号整形:unsigned int 2个字节
无符号短整型: unsigned short int 2个字节
无符号长整形:unsigned long int 4个字节
单精度 float 4个字节 有效数字7位
双精度 double 8个字节 有效数字16位
字符型 char 1个字节
以上是在16位计算机系统中,32位的加倍。
如果实在不相信,可以用sizeof函数验证一下,方法如下
#include“stdio.h”
main()
{
int m;
m=sizeof(数据类型);
printf(“%d",m);
}
热心网友
时间:2023-10-12 00:40
其实这个占几个字节跟多少位系统根本没什么关系,这主要是编译器决定的,比如int TC是2个字节,vc6.0就是4个字节,再说个标准,C语言一般遵循ANSI标准,他只规定short<=int<=long,具体是多少个字节就由编译器决定了
热心网友
时间:2023-10-12 00:40
标准答案:
在TC中, 在VC中:
类型 宽度 字节 类型 宽度 字节
int 16 2 int 32 4
unsigned int 16 2 unsigned int 32 4
short 16 2 short 16 2
unsigned short 16 2 unsigned short 16 2
long 32 4 long 32 4
unsigned long 32 4 unsigned long 32 4
另外,C语言的浮点数常量在机器中有单精度和双精度之分,单精度以32位形式存放,双精度以64位形式存放。字符型变量在机器中占8位,也就是1个字节(8 bit=1 byte)。详见下表:
类型 宽度 字节
float 32 4
double 64 8
char 8 1
热心网友
时间:2023-10-12 00:41
不要误人子弟啊
搞清楚再贴出来追问那你的答案是啥呢?
追答16位
2,4,4,8,1
32位
4,4,4,8,1
可以写个程序测试一下
热心网友
时间:2023-10-12 00:41
16位为 2 4 4 8 1
32 4 4 4 8 1