存储单位
字符 | 备注 | 转换关系 |
---|
bit | 位/b | 计算机表示数据最小的单位 |
byte | 字节/B | 1 byte = 8 bit / 1 B = 8 b |
KB | | 1KB=1024B |
另:一个字符=2字节
变量大小
首先了解到C语言中的各个数据类型的大小是由编译器位数所决定的!!!
C类型 | 32位环境 | 64位环境 |
---|
char | 1 | 1 |
short int | 2 | 2 |
int | 4 | 4 |
long int | 4 | 8 |
long long int | 8 | 8 |
char* | 4 | 8 |
float | 4 | 4 |
double | 8 | 8 |
表示精度
变量符号 | 中文名称 | 64位环境大小 | 范围 | 备注 | 精度 |
---|
short int | 短整型 | 2 | -32768 ~ 32767 |
(
−
2
)
15
(-2)^{15}
(−2)15 ~
2
15
2^{15}
215-1 | 每一个数字都可精确表示 |
unsigned short int | 无符短整型 | 2 | 0 ~ 65535 | 0 ~ (216 - 1) | 每一个数字都可精确表示 |
int | 整型 | 4 | -2147483648 ~ 2147483647 |
(
−
2
)
31
(-2)^{31}
(−2)31 ~
2
31
2^{31}
231-1 | 每一个数字都可精确表示 |
unsigned int | 无符整型 | 4 | 0 ~ 4294967295 | 0 ~
2
32
2^{32}
232-1 | 每一个数字都可精确表示 |
float | 实型(单精度) | 4 |
1.18
∗
1
0
−
38
1.18*10^{-38}
1.18∗10−38 ~
3.40
∗
1
0
38
3.40*10^{38}
3.40∗1038 | | 7位有效位 |
double | 实型(双精度) | 8 |
2.23
∗
1
0
−
308
2.23*10^{-308}
2.23∗10−308 ~
1.79
∗
1
0
308
1.79*10^{308}
1.79∗10308 | | 15位有效位 |
long double | 实型(长双精度) | 10 |
3.37
∗
1
0
−
4932
3.37*10^{-4932}
3.37∗10−4932 ~
1.18
∗
1
0
4932
1.18*10^{4932}
1.18∗104932 | | 19位有效位 |