java 中的 40 位整数使用什么数据类型

What datatype to use for 40 digit integers in java

例如

第一个数字=123456.......40位
第二个数字 = 123456.......40 位

然后我需要存储号码

third = first * second;

之后我需要打印第三次,然后我需要执行类似

的操作
fourth = third * third;

并打印第四个。那么我该如何处理我需要使用的数据类型那么长的整数呢?

java.math中使用BigIntegerclass,然后使用BigInteger.multiply将它们相乘

点击这里了解更多关于如何使用它的信息: https://www.tutorialspoint.com/java/math/biginteger_multiply.htm

看到这个问题类似Arbitrary-precision arithmetic Explanation 答案解释的很好

基本原理是您使用较小的零件。请记住您在学校(2-3 年级)是如何学会使用大数字的,您写下了两个数字,然后

 2351
  *12
 -----
 4702
2351
------
28212

您只需执行一些小操作并将它们存储在某个地方,您可以将它们放在字符串中或更好地放在某个整数数组中。例如

号码 123456789123456789 可以 数字[0] = 6789 数字[1] = 2345 数字[3] = 7891 数字[4] = 2345 数字[5] = 1 字符串 numberToShow = ""; 对于(整数我= 0;我

有一些计算机算术链接 https://en.wikipedia.org/wiki/Category:Computer_arithmetic 和加法器 https://en.wikipedia.org/wiki/Category:Adders_(electronics)

在您的计算机中,您基本上也只有一些加法器,它们只能处理一定数量的数字,如果您需要处理更大的数字,则需要将其分成更小的部分。
其中一些部分可以并行完成,因此您可以加快算法速度。这些通常更复杂。
但基本原理类似于在小学中处理大量数据。