java 在java中存储1000位数字的最佳数据类型

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/14411608/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-31 16:11:07  来源:igfitidea点击:

Best dataype to store a 1000 digit number in java

java

提问by yoge 911

I am new to java, trying to solve Euler problems with it. I am having a 1000 digit number, what could be the best datatype?

我是java的新手,试图用它解决欧拉问题。我有一个 1000 位数字,最好的数据类型是什么?

Sorry, guys. I didn't expect the answer to be this quick. Thanks for you guys:) can anybody could write a piece of code and show how to declare this integer using BigIntegerdatatype.?

对不起大家。没想到答案这么快。谢谢你们:) 任何人都可以写一段代码并展示如何使用BigInteger数据类型声明这个整数。?

73167176531330624919225119674426574742355349194934
96983520312774506326239578318016984801869478851843
85861560789112949495459501737958331952853208805511
12540698747158523863050715693290963295227443043557
66896648950445244523161731856403098711121722383113
62229893423380308135336276614282806444486645238749
30358907296290491560440772390713810515859307960866
70172427121883998797908792274921901699720888093776
65727333001053367881220235421809751254540594752243
52584907711670556013604839586446706324415722155397
53697817977846174064955149290862569321978468622482
83972241375657056057490261407972968652414535100474
82166370484403199890008895243450658541227588666881
16427171479924442928230863465674813919123162824586
17866458359124566529476545682848912883142607690042
24219022671055626321111109370544217506941658960408
07198403850962455444362981230987879927244284909188
84580156166097919133875499200524063689912560717606
05886116467109405077541002256983155200055935729725
71636269561882670428252483600823257530420752963450

回答by Cory Kendall

BigInteger myBigInteger = new BigInteger("7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450");

回答by Mitch Wheat

BigIntegeror BigDecimal.

BigIntegerBigDecimal

.......................

……………………

回答by Buntylm

BigIntegeris capable of storing integer (i.e. non-fractional numbers) of any size.

BigInteger能够存储任何大小的整数(即非小数)。

回答by Sandip Subedi

Actually, I also used BigInteger for that problem :

实际上,我也使用 BigInteger 来解决这个问题:

Scanner scan = new Scanner(System.in);
// storing the line as a String
String temp = scan.nextLine();
BigInteger bigInt= new BigInteger(temp);

// one thing that you have to be aware is when you add 2 BigInteger:

// 您必须注意的一件事是添加 2 BigInteger 时:

// suppose you have firstNumber and secondNumber, it will be

// 假设你有 firstNumber 和 secondNumber,它将是

firstNumber.add(secondNumber);