计算机算术:整数除法、浮点表示与运算详解
1. 整数除法与余数处理
在处理整数除法时,余数的定义由公式 (D = Q * V + R) 给出,其中 (D) 是被除数,(Q) 是商,(V) 是除数,(R) 是余数。以下是不同符号组合下的整数除法示例:
| (D) | (V) | (Q) | (R) |
| — | — | — | — |
| 7 | 3 | 2 | 1 |
| 7 | -3 | -2 | 1 |
| -7 | 3 | -2 | -1 |
| -7 | -3 | 2 | -1 |
从这些例子可以看出,(( -7)/(3)) 和 ((7)/( -3)) 会产生不同的余数。商 (Q) 和余数 (R) 的绝对值不受输入符号的影响,它们的符号可以根据 (D) 和 (V) 的符号推导得出,具体为 (sign(R) = sign(D)) 和 (sign(Q) = sign(D) * sign(V))。因此,进行补码除法的一种方法是将操作数转换为无符号值,最后根据需要通过补码处理符号。
2. 浮点表示原理
定点表示法(如补码)可以表示以 0 为中心或接近 0 的正负整数范围,通过假设固定的二进制或小数点,还能表示带有小数部分的数字。然而,这种方法存在局限性,无法表示非常大的数或非常小的分数,并且在两个大数相除时,商的小数部分可能会丢失。
为了解决这些问题,对于十进制数,我们使用科学记数法。例如,(976,000,000,000,000) 可以表示为 (9.76 * 10^{14}),(0.0000000000000976) 可以表示为 (9.76 * 10^{-14})。这种方法
超级会员免费看
订阅专栏 解锁全文
32

被折叠的 条评论
为什么被折叠?



