---
# System prepended metadata

title: 大數運算_除法V3版.py
tags: [Python系統設計]

---

---
tags: Python系統設計
---
# 大數運算_除法V3版.py
20240513隨筆：
1.大概邏輯出來了，但最近有點懶，還沒寫成程式。
2.目前推算，不確定速度會比V1版快，但是還是想找時間寫出來比較看看。
3.大概邏輯如下：a/b=c...d=>(【a1】_【a2】_【a3】)/ (【b1】_【b2】_【b3】) =>c=((【a1】_【a2】_【a3】)/【b1】)-(【b2】 *(10^1) /【b1】* (10^2) )-(【b3* (10^0)】/【b1】* (10^2))=>d=((【a1】%【b1】)_【a2】_【a3】)-(【b2】)_(【b3】)。_是串連的意思，(【b2】 *(10^1) /【b1】* (10^2) )也可以這樣寫(【b2】 /【b1】 )/ (10^ (2-1) ) =>假如 ( [a1]_ [a2]_ [a3] )/ ( [b1]_ [b2] ) =>c= (( [a1]_ [a2]_ [a3] )/ [b1])- ( [b2]/ [b1] ] )*(10^(1-0)) =>d=((( [a1]_ [a2] )%b1)_ [a3] )- ([b2]*(10^0)) 為甚麼只%到 [a2] 因為 [a2]、 [b1] 的進位都是10^1，所以除到相同的位置就好。=>假如a=1234=([12]_[34])
4.精準度方面也有疑慮，要實際寫出程式才知道結果。例如：
商：
321/321=1=>([3]_[2]_[1])/([3]_[2]_[1])
=>
321/300=1.07
300/300=1
20/300=0.0666666667~0.067
1/300=0.0033333333~0.003
(3/3)*(10^(2-2))=1
(2/3)*(10^(1-2))=0.06666666~0.067
(2/3)*(10^(0-2))=0.03333333~0.003
餘:
321%300=21
21-20=1
1-1=0
((3*(10^2))+(2*(10^1))+(1*(10^0)))%(3*(10^2))=21
21-(2*(10^1))=1
1-(1*(10^0))=0
```python=

```