[编程笔记]-High_Precision(Mul and Div)[SIM]高精度乘除法(基础版)
前言
鉴于此篇博客用于学习or巩固基础部分,故而这里只记录大数与int
类型的小数的乘除计算,大数乘大数将会在“[编程笔记]-High_Precision(Mul and Div)[COM]高精度乘除法(提高版)”教学。
emmm就这样吧(。·ω·。)
思路
乘法
其实就跟列竖式差不多,把大数列在下面、小数列在上面,直接乘。
别忘了去前导0~
除法
就是用机器去模拟手写嘛。鉴于除法相较于其他三种计算有些复杂,这里给出详细步骤:
- 准备好记录结果与记录余数的变量。
- 从最高位开始往最低位遍历大数。
- 将余数乘十并加上大数的这一位,作为新的被除数。
- 记录新的被除数除以小数的商与新余数。
- 去掉前导零。
tips: 如果你用的是vector
储存,请在第5步前反转队列。(详见代码)
代码
乘法
1 |
|
除法
1 |
|
完结撒花o( ̄︶ ̄)o
[编程笔记]-High_Precision(Mul and Div)[SIM]高精度乘除法(基础版)
http://githarlem.github.io/2024/07/29/High-Precision-MulDiv-Simple/