整数类型

发布时间 2023-11-08 01:25:13作者: 瑜阳

<1>整数类型

  • char,short,int,long,long long

(1)借助sizeof获取五种整数类型占据内存大小的信息

例如:

printf("sizeof(char)=%d\n",sizeof(char));
printf("sizeof(short)=%d\n",sizeof(short));
printf("sizeof(int)=%d\n",sizeof(int));
printf("sizeof(long)=%d\n",sizeof(long));
printf("sizeof(long long)=%d\n",sizeof(long long));

得出第一种编译结果:
————1)sizeof(char)=1;(不做注释的一般用64位的机器编译)
sizeof(short)=2;
sizeof(int)=4;
sizeof(long)=8;
sizeof(long long)=8;

第二种编译结果 —m32(当作32位的机器编译)
————2)sizeof(char)=1;
sizeof(short)=2;
sizeof(int)=4;
sizeof(long)=4;
sizeof(long long)=8;

通过以上两种编译结果可以总结出不同整数类型对应的内存大小不同

————总结出两点规律:
1. char,short,long long三种类型的整数占据的内存大小是固定的;
2. int,long两种类型的整数所占据的内存大小取决于编译器(CPU);
3. 字长:指每一个寄存器可以表达x个bit的数据,也可以表示数据在CPU和RAM之间传递时每一次传递x个bit,也就意味着每次从CPU中取数据,就会取出x个bit,x可以为32,64等。(32,64个bit可称为一个字长)

  • 因此int想要表达的就是一个寄存器的大小。

<2>整数的内部表达

————引入二进制,计算机内部一切都是二进制