我如何减去同等数字的大数字
How do i subtract equal digit large numbers?
我减去了数字不平等的大数字,但我无法减去长度等于使用str [i] - '0'将其转换为整数数组。如果数字相等,我无法执行此操作。我无法使用ATOI函数。我所做的是将字符串转换为整数阵列,然后我使用sub_logic中的减法逻辑进行减法这是我用于减法数字数字的逻辑。
半答案,因为当更简单的方法可行时,我想不出一个充分的理由来调试询问者的算法。
这是您像孩子一样行事的绝佳机会。
- 将数字留作
string
S 1 。 - 通过将零以最短的速度预备使它们均相同。
- 如果被减去的数字(子图形(是较大的数字,请反转两个数字,因此您总是从较大的数字中减去较小的数字。记下您扭转了操作数的顺序。
- 从右到左工作,减去数字并根据需要从较大的数字中跟踪任何借款。
- 如果您扭转了操作数订单,则将结果标记为负。
1 您不必将字符分解为数字,因为没有理智的字符编码编码数字的顺序或定位。C 标准 [LEX.CHARSET] 需要此。
但是,跟踪借贷可能会迫使您使用更宽的存储空间,因为您可能会发现自己的数字高达18,而C 标准不能保证角色可以存储。如果数字在编码的末尾,则超越您可以存储在数字中的内容,并指望另一个字符。这不是我知道的每个字符,但不能保证。
。您很可能(在此处假设ASCII(逃脱
if (a[index] < b[index])
{
a[index - 1]--; // a > b as per step 3 above, so this can't happen with last digit.
a[index] += 10;
}
result[index] = '0' + a[index] - b[index];
对于步骤4。我相信这是学校作业的一个很好的假设,但是我对生产代码更加谨慎,以确保a[index] += 10;
不会溢出char
借来的数字将最终坐在';'顶上通过" A",没有人会在数学上关心。不过是破坏性的。a
由于结果损坏
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 函数在许多数字上转换为基数 1 时减去 2?
- C++在减去 int 时向 int 添加一个额外的数字
- 使用 while () 循环从总和中减去数字
- 如果一个字符,比如说"9",我减去"0",我在结果上使用 is 数字,我是真还是假
- 减去CPP整数时,我会丢失一个数字
- 我如何减去同等数字的大数字
- 有没有办法在值数组中随机添加或减去两个特定数字或更多
- 无法弄清楚如何始终从较大的数字中减去较小的数字
- 关于C中浮点算术的异常,从本身中减去数字
- 从数组中减去以留下一个特定的数字
- 为什么我的 c++ 计算器每减去我输入的两个数字,而不是执行我要求它执行的操作
- 可怕的数字不知从何而来
- 从序列中减去一个数字后,剩余的数字中有多少是正数
- 从ASCII字符中减去一个数字
- 使用数组c++减去大数字
- 减去2个数字的每一位
- 我如何在C/ c++中减去两个IPv6地址(128位数字)
- 用C++减去数字
- 试图制作一个while循环,减去一个数字,直到它达到所需的值,如果减法超过了所需值,则显示它并停止