c - 如何进行 "superlong"整数的乘法和除法?

标签 c arrays int

考虑需要处理可能有数百位数字的整数。让我们称它们为“超长”整数。显然,它们不能使用 int 或 long int 等数据类型存储。 一个“超长”整数可以作为用户的输入,一位一位地读入,并存储在一个数组中,超长整数的每一位都占据数组中的一个位置。该问题涉及将两个正“超长”整数作为用户的输入,逐位输入。每个数字都由用户作为一个字符输入。正“超长”整数的结束由$符号的输入和存储表示。

这里可以假设超长正整数最多占用的位数是25位。

编写一个 C 程序,能够对这些超长正整数执行以下操作。

  1. 相加两个超长正整数
  2. 用另一个超长正整数减去一个超长正整数
  3. 将两个正超长整数相乘
  4. 将一个超长正整数除以另一个超长正整数
  5. 提供一个超长正整数除以另一个超长正整数的余数
  6. 找出两个超长正整数中的最大值

我完成了编写用于执行两个正超长整数的加法、减法和最大值的函数。我无法执行乘法和除法来分别获得商和余数。

最佳答案

如果您不能编写自己的函数,您只需要使用 GMP 库,

http://gmplib.org/

使用它,你将被排序....

关于c - 如何进行 "superlong"整数的乘法和除法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15630033/

相关文章:

android - android中的地址路径

javascript - 在 JS 中转换 OHLC 中的连续股票数据(开盘价、最高价、最低价、收盘价)

java - 检查数组是否有连续的元素?

c# - 多线程增加int

c - 如何在C中使用√符号

c - 带有字符串变量的彩色读取行的字符串文字组合

c - 如何通过 C 中的套接字将两个缓冲区一起发送?

javascript - 获取对象数组并按字母顺序排序为更小的数组

Java 使二叉搜索树通用(它有效,但我知道我做得不对)

java - long 和 double 每次都工作的时候,为什么 Java 中的数字类型那么多?