반응형
자바의 큰 숫자
Java에서 매우 많은 수의 계산을 수행해야합니까?
나는 시도 long
했지만 최대 9223372036854775807이며 사용할 때 충분한 자릿수를 저장하지 않습니다.
어느쪽에 있습니까?
BigInteger
정수 및 BigDecimal
소수 자릿수에 대해 클래스를 사용할 수 있습니다 . 두 클래스 모두 java.math
패키지 에 정의되어 있습니다.
예 :
BigInteger reallyBig = new BigInteger("1234567890123456890");
BigInteger notSoBig = new BigInteger("2743561234");
reallyBig = reallyBig.add(notSoBig);
BigInteger
Java 라이브러리의 일부인 클래스를 사용하십시오 .
http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigInteger.html
다음은 큰 숫자를 매우 빠르게 얻습니다.
import java.math.BigInteger;
/*
250000th fib # is: 36356117010939561826426 .... 10243516470957309231046875
Time to compute: 3.5 seconds.
1000000th fib # is: 1953282128707757731632 .... 93411568996526838242546875
Time to compute: 58.1 seconds.
*/
public class Main {
public static void main(String... args) {
int place = args.length > 0 ? Integer.parseInt(args[0]) : 250 * 1000;
long start = System.nanoTime();
BigInteger fibNumber = fib(place);
long time = System.nanoTime() - start;
System.out.println(place + "th fib # is: " + fibNumber);
System.out.printf("Time to compute: %5.1f seconds.%n", time / 1.0e9);
}
private static BigInteger fib(int place) {
BigInteger a = new BigInteger("0");
BigInteger b = new BigInteger("1");
while (place-- > 1) {
BigInteger t = b;
b = a.add(b);
a = t;
}
return b;
}
}
체크 아웃 BigDecimal
및 BigInteger
.
import java.math.BigInteger;
import java.util.*;
class A
{
public static void main(String args[])
{
Scanner in=new Scanner(System.in);
System.out.print("Enter The First Number= ");
String a=in.next();
System.out.print("Enter The Second Number= ");
String b=in.next();
BigInteger obj=new BigInteger(a);
BigInteger obj1=new BigInteger(b);
System.out.println("Sum="+obj.add(obj1));
}
}
수행중인 작업에 따라 고성능 다중 정밀도 라이브러리 인 GMP (gmplib.org)를 살펴볼 수 있습니다. Java에서 사용하려면 바이너리 라이브러리를 둘러싼 JNI 래퍼가 필요합니다.
임의의 자릿수로 Pi를 계산하기 위해 BigInteger 대신 사용하는 예제는 Alioth Shootout 코드 중 일부를 참조하십시오.
https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/pidigits-java-2.html
참고 URL : https://stackoverflow.com/questions/849813/large-numbers-in-java
반응형
'IT' 카테고리의 다른 글
셔플 된 목록을 복사하는 것이 왜 훨씬 느린가요? (0) | 2020.09.12 |
---|---|
CSS3 애니메이션 완료시 있습니까? (0) | 2020.09.12 |
로컬 SQL Server 인스턴스에 대한 관리자 액세스 권한을 어떻게 부여합니까? (0) | 2020.09.11 |
명령 줄 도구가 설치되어 있는지 확인하는 방법 (0) | 2020.09.11 |
1.0이 아닌 열거 형 값에 0.0을 할당 할 수있는 이유 (0) | 2020.09.11 |