我们可以通过减法分割数和剩余停如图所示这里.
但是我们如何通过减法继续划分余数呢?我看了谷歌,找不到这样的答案.它们不会超越其余部分.
例如,假设我们有
7/3.
7-3 = 4
4-3 = 1
Run Code Online (Sandbox Code Playgroud)
所以,我们有2 & (1/3).我们如何1/3
仅使用减法或加法来进行除法?
重复 - 请注意,我不想使用乘法或除法运算符来执行此操作.
您可以获得额外的"数字",最高可达任意精度(在您想要的任何基础上,我将使用基数10以简化,但如果您尝试实施算法,您可能会选择基数2)
1) Perform division as you've illustrated, giving you a quotient (Q=2), a divisor (D=3), and a remainder (R=1)
2) If R=0, you're done
3) Multiply R by your base (10, R now =10)
4) Perform division by subtraction again to find R/D (10/3 = 3+1/3).
5) Divide the resulting quotient by your base (3/10 = 0.3) and add this to what you got from step 1 (now your result is 2.3)
6) Repeat from step 2, dividing the new remainder (1) by 10 again
Run Code Online (Sandbox Code Playgroud)
虽然这听起来很像我刚刚说过很多次,但我们除以你的基数.为简单起见,我使用了10,但你真的使用了base 2,所以第3步实际上是左移(每次1位),第5步实际上是右移(第1次通过1位,2位是第二,等等).
7/3.
7-3 = 4
4-3 = 1
7/3 = 2 R 1
1*10 = 10
10-3 = 7
7-3 = 4
4-3 = 1
10/3 = 3 R 1
7/3 = 2 + 3/10 R 1
7/3 = 2.3 R 1
1*10 = 10
10-3 = 7
7-3 = 4
4-3 = 1
10/3 = 3 R 1
7/3 = 2.3 + 3/100 R 1
7/3 = 2.33 R 1
Run Code Online (Sandbox Code Playgroud)
等等,直到达到任意精度.
| 归档时间: |
|
| 查看次数: |
1757 次 |
| 最近记录: |