理解数值计算中的精度问题
1 实数表示法回顾
在计算机中,实数通常以浮点数的形式表示。浮点数表示法是一种近似实际算术的方法,它允许计算机处理非常大或非常小的数值。浮点数由三部分组成:符号位、尾数(或称为有效数)和指数。这种表示方法提供了极大的灵活性,但也带来了精度上的挑战。
浮点数的表示形式通常为:
[ (-1)^s \times m \times b^e ]
其中:
- ( s ) 是符号位(0表示正数,1表示负数)。
- ( m ) 是尾数(或称有效数)。
- ( b ) 是基数(通常是2或10)。
- ( e ) 是指数。
浮点数的精度取决于尾数的有效位数。计算机中常用的浮点数格式包括单精度(32位)和双精度(64位)。单精度浮点数通常提供约7位有效数字,而双精度浮点数则提供约15位有效数字。
示例:浮点数表示
符号位 | 尾数 | 指数 |
---|---|---|
0 | 1.587404 | 10 |
这个浮点数表示为 ( 1.587404 \times 10^{10} ),即 ( 15,874,040,000 )。
2 双精度
双精度浮点数相对于单精度浮点数具有更高的精度和更大的表示范围。双精度浮点数在计算机内存中占用64位,其中1位用