编程基础
完成条件
概述
浮点数据类型使用一种常见的实数表示方法,作为近似值,这本质上是在范围和精度之间的权衡。因此,浮点计算通常用于需要快速处理时间的系统中,这些系统包含非常小和非常大的实数。一般而言,数字以固定数量的有效数字近似表示,并使用指数按某种固定基数(如10)进行缩放。
讨论
浮点数据类型是一类行为相似、仅在其域(允许的值的范围)大小上有所不同的数据类型。浮点数据类型表示带有小数部分的数字值。它们在技术上存储为两个整数值:尾数和指数。浮点数据类型具有相同的属性,在所有编程语言中表现相似。它们可以存储负值或正值,因此它们总是有符号的;与整数数据类型不同,整数数据类型可能是无符号的。浮点数据类型的域会有所不同,因为它们可以表示非常大的数字或非常小的数字。我们讨论的不是实际的值,而是精度。存储空间的字节数越多,尾数和指数就越大,从而提供更高的精度。
语言数据类型示例
语言 | 保留字 | 大小 | 精度 | 范围 |
---|---|---|---|---|
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
。
关键术语
- double:浮点数据类型家族中最常用的数据类型。
- 尾数(mantissa):浮点值的整数部分之一。
- 指数(exponent):浮点值的整数部分之一。
- 精度(precision):给定更大或更小的存储空间(字节)时,浮点值域的影响。
参考文献
- cnx.org: 《编程基础 – 使用C++的模块化结构化方法》
- Wikipedia: 《浮点算术》
- Python.org: 《内建函数》
最后修改: 2025年01月10日 星期五 15:46