编程基础/浮点数数据类型
外观
< 编程基础
浮点数数据类型使用实数的通用近似表示,本质上是在范围和精度之间进行权衡。因此,浮点数计算通常出现在包含非常小和非常大的实数的系统中,这些系统需要快速的处理时间。一个数通常近似表示为固定数量的有效数字,并使用某个固定基数(例如 10)的指数进行缩放。[1]
浮点数数据类型是一系列数据类型,它们的行为相似,只是域的大小(允许的值)不同。浮点数数据类型表示带有小数部分的数值。它们在技术上存储为两个整数值:尾数和指数。浮点数数据类型在所有编程语言中具有相同的属性,并且行为相似。它们始终可以存储负值或正值,因此它们始终有符号;这与可以无符号的整数数据类型不同。浮点数数据类型的域各不相同,因为它们可以表示非常大的数字或非常小的数字。我们不谈论实际值,而是提到精度。存储字节越多,尾数和指数就越大,因此精度就越高。
语言 | 保留字 | 大小 | 精度 | 范围 |
---|---|---|---|---|
C++ | float
|
32 位 / 4 字节 | 7 个十进制数字 | ±3.40282347E+38 |
C++ | double
|
64 位 / 8 字节 | 15 个十进制数字 | ±1.79769313486231570E+308 |
C# | float
|
32 位 / 4 字节 | 7 个十进制数字 | ±3.40282347E+38 |
C# | double
|
64 位 / 8 字节 | 15 个十进制数字 | ±1.79769313486231570E+308 |
Java | float
|
32 位 / 4 字节 | 7 个十进制数字 | ±3.40282347E+38 |
Java | double
|
64 位 / 8 字节 | 15 个十进制数字 | ±1.79769313486231570E+308 |
JavaScript | Number
|
64 位 / 8 字节 | 15 个十进制数字 | ±1.79769313486231570E+308 |
Python | float()
|
64 位 / 8 字节 | 15 个十进制数字 | ±1.79769313486231570E+308 |
Swift | Float
|
32 位 / 4 字节 | 7 个十进制数字 | ±3.40282347E+38 |
Swift | Double
|
64 位 / 8 字节 | 15 个十进制数字 | ±1.79769313486231570E+308 |
在对浮点值进行运算时,结果可能比你想要的保留更多小数位。我们可以使用 round 函数来限制显示的小数位数。例如,round(1.12356,2) 将返回 1.12。[2]
- double
- 最常用的浮点数数据类型。
- 尾数 指数
- 浮点值的两个整数值部分。
- 精度
- 给定更大的或更小的字节存储区域,对浮点值域的影响。