基本数据类型介绍
它们是算术类型,包括整型(int)、字符型(char)、浮点型(float)和双精度浮点型(double)。
类型 打印格式
char //字符型 %c
short //短整型 %hd
int //整型 %d
long //长整型 %ld
long long //更长的整型 %lld
float //单精度浮点数 %f
double //双精度浮点数 %lf
整形家族:
char //字符的本质是ASCII码值,是整型,所以划分到整型家族
unsigned char
signed char
short
unsigned short [int]
signed short [int]
int
unsigned int
signed int
long
unsigned long [int]
signed long [int]
long long
unsigned long long [int]
signed long long [int]
int a; 相当于 signed int a; 其他一致;
而 char 到底是 signed char 还是 unsigned char 标准是未定义的,取决于编译器的实现。
下表列出了关于标准整数类型的存储大小和值范围的细节:
类型 | 存储大小(byte) | 值范围 |
---|---|---|
char | 1 | -128 ~ 127 或 0 ~ 255 |
unsigned char | 1 | 0 ~ 255 |
signed char | 1 | -128 ~ 127 |
short | 2 | -32,768 ~ 32,767 |
unsigned short | 2 | 0 ~ 65,535 |
int | 4 | -2,147,483,648 ~ 2,147,483,647 |
unsigned int | 4 | 0 ~ 4,294,967,295 |
long | 4 | -2,147,483,648 ~ 2,147,483,647 |
unsigned long | 4 | 0 ~ 4,294,967,295 |
long long | 8 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
unsigned long long | 8 | 0 ~ 18,446,744,073,709,551,615 |
浮点数家族:
float //精度低,存储的数值范围较小
double //精度高,存储的数值范围更大
只要是表示小数就可以使用浮点型
下表列出了关于标准浮点类型的存储大小、值范围和精度的细节:
类型 | 存储大小(byte) | 值范围 | 精度 |
---|---|---|---|
float | 4 | 1.2E-38 ~ 3.4E+38 | 6 位有效位 |
double | 8 | 2.3E-308 ~ 1.7E+308 | 15 位有效位 |
long double | 16 | 3.4E-4932 ~ 1.1E+4932 | 19 位有效位 |