在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位形式存放,双精度以位形式存放。字符型变量在机器中占8位,也就是1个字节(8 bit=1 byte)。详见下表:
类型 宽度 字节
float 32 4
double 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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com