在C语言中,整型数据类型可分为:char、short(short int)、int、long(long int)、long long(long long int)。每一种整型数据类型可分为两种形式:无符号(unsigned)和有符号(signed)。
- char
传送门:C语言学习 - 字符型数据类型 - short
类型说明符:[signed] short,表示的数值范围:-32768 ~ 32768,存储大小:2字节
类型说明符:unsigned short,表示的数值范围:0 ~ 65535,存储大小:2字节 - long
在32位操作系统中:
类型说明符:[signed] long,表示的数值范围:-2,147,483,648 ~ 2,147,483,647,存储大小:4字节
类型说明符:unsigned long,表示的数值范围:0 ~ 4,294,967,295,存储大小:4字节
在64位操作系统中:
类型说明符:[signed] long,表示的数值范围:-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807,存储大小:8字节
类型说明符:unsigned long,表示的数值范围:0 ~ 18,446,744,073,709,551,615,存储大小:8字节 - int
在16位操作系统中:
类型说明符:[signed] int,表示的数值范围:-32768 ~ 32768,存储大小:2字节
类型说明符:unsigned int,表示的数值范围:0 ~ 65535,存储大小:2字节
在32位或64位操作系统中:
类型说明符:[signed] int,表示的数值范围:-2,147,483,648 ~ 2,147,483,647,存储大小:4字节
类型说明符:unsigned int,表示的数值范围:0 ~ 4,294,967,295,存储大小:4字节 - long long
类型说明符:[signed] long long,表示的数值范围:-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807,存储大小:8字节
类型说明符:unsigned long long,表示的数值范围:0 ~ 18,446,744,073,709,551,615,存储大小:8字节
通过 sizeof 函数查看整形数据类型的存储大小(64位操作系统)
#include <stdio.h>
int main(void)
{
short a = 300;
int b = 6600;
long c = 7777777;
long long d = 999999999;
printf("short a的值:%d\n", a);
printf("int b的值:%d\n", b);
printf("long c的值:%ld\n", c);
printf("long long d的值:%lld\n", d);
printf("short int 存储大小:%ld byte\n", sizeof(short int));
printf("int 存储大小:%ld byte\n", sizeof(int));
printf("long int 存储大小:%ld byte\n", sizeof(long int));
printf("long long int 存储大小:%ld byte\n", sizeof(long long int));
return 0;
}
程序输出内容:
short a的值:300
int b的值:6600
long c的值:7777777
long long d的值:999999999
short int 存储大小:2 byte
int 存储大小:4 byte
long int 存储大小:8 byte
long long int 存储大小:8 byte
整型数据在内存中的存放形式
整型数据在内存中的存放形式是以补码表示的
- 正数的补码和原码相同。
定义一个整型变量:int i = 10;
内存中的存放形式(32位):00000000000000000000000000001010 - 负数的补码:第一位是符号位,除符号位外每一位求反后加1。
定义一个整型变量:int i = -10;
内存中的存放形式(32位):11111111111111111111111111110110
网友评论