在C ++中存储100个数字用于基本算术函数

时间:2012-03-08 06:19:16

标签: c++

我正在尝试编写用于计算最多100位数的素数的代码,然后对其执行基本算术运算,如+-*和{{1} }。我做了一些研究,发现这可以通过使用字符串来执行。但是,如果我将数字存储在字符串中,那么我将如何对其执行操作?

3 个答案:

答案 0 :(得分:1)

您需要实现一个大整数类(或使用现有的类)。 例如:https://mattmccutchen.net/bigint/

答案 1 :(得分:1)

这不是性能的最佳选择,但是如果要将它们保留为字符串,则可以像在纸上一样进行。

  12345
    *54
 _______
  49380
+617250
 _______
 666630

它应该是最简单的构思,只要你的字符串类型允许就可以扩展。将需要临时号码,但结果也不会超过8位。

答案 2 :(得分:0)

这有点棘手,但你需要一次处理字符串块。也就是说,从字符串中读取几个数字并将其作为数字处理,并对其进行部分算术运算。执行此操作时,您必须记住携带数字。

乘法和除法更复杂,但可以使用类似的系统。