1. 浮点型变量介绍
1.1 类型概览
浮点型变量用于存储小数数值,C语言提供了三种主要的浮点数类型:单精度浮点型(float)、双精度浮点型(double)、长双精度浮点型(long double)。
类型 | 占用空间 | 取值范围 |
---|---|---|
float | 4字节 (=32位) | − 1.4 ∗ 1 0 − 45 -1.4*10^{-45} −1.4∗10−45 ~ − 3.4 ∗ 1 0 + 38 -3.4*10^{+38} −3.4∗10+38, 1.4 ∗ 1 0 − 45 1.4*10^{-45} 1.4∗10−45 ~ 3.4 ∗ 1 0 + 38 3.4*10^{+38} 3.4∗10+38 |
double | 8字节 (=64位) | − 4.9 ∗ 1 0 − 324 -4.9*10^{-324} −4.9∗10−324 ~ − 1.7 ∗ 1 0 + 308 -1.7*10^{+308} −1.7∗10+308, 4.9 ∗ 1 0 − 324 4.9*10^{-324} 4.9∗10−324 ~ 1.7 ∗ 1 0 + 308 1.7*10^{+308} 1.7∗10+308 |
long double | 12字节 (=96位) | … |
对于不同编译器:
类型 | 16位编译器 | 32位编译器 | 64位编译器 |
---|---|---|---|
float | 4字节 | 4字节 | 4字节 |
double | 8字节 | 8字节 | 8字节 |
1.2 举例
1.2.1 使用后缀区分类型
float f = 123.4f;
double d1 = 101.1;
double d2 = 299.4;
1.2.2 科学计数法
double x = 123.456e+3; // 123.456 * 10^3
0.3E6
// 等同于
.3E63.0E6
// 等同于
3.E6
1.2.3 特殊字符后缀
float a = 3.14159f; //单精度浮点常量处理
long double b = 1.23L; //long double类型处理