优化版大整数减法
发布时间
阅读量:
阅读量
前言
在大整数的减法运算过程中,被减数与减数可能分别带有正或负的符号,且两者之间的数值大小关系也无法预先确定,因此若要全面分析大整数减法的相关问题,所涉及的情形将变得极为复杂。
本研究仅针对大整数减法中的特定情形展开探讨,设定被减数与减数均为正数,并且确保被减数的数值大于减数。
思路
1 . 要完成大整数的减法运算,同样需要实现其输入与输出功能,此处对输入过程进行了简化处理,数据存储方式依旧沿用小端存储模式。
2 . 由于仅考虑被减数大于减数的情形,因此可以直接执行减法操作。若计算结果为负数,则需从前一位借取1,并将当前位数值增加10。
3 . 完成减法运算后,还需判断结果的有效位数。可预先设定结果长度与被减数相同,从最高位依次检查每一位数值,若某一位为0,则相应减少长度值。
代码
#include <bits/stdc++.h>
#define N 110
using namespace std;
// 同样,这里采用小端序存储
int a_digits[N] = {8, 6, 3, 2}, a_len = 4;
int b_digits[N] = {7, 9, 9}, b_len = 3;
int ans_digits[N], ans_len;
in
全部评论 (0)
还没有任何评论哟~
