2017-04-08 1 views
2

입력 :Java에서 BigInteger보다 큰 큰 수를 처리하는 방법은 무엇입니까?

BigInteger l = BigInteger.valueOf(111111111111111110); 

컴파일러 에러 메시지

내 목적은 연속적으로 일정 값까지 지정된 다수의 감소하는 너무 큰

정수 (K라고 말하십시오.)

어떻게하면됩니까? 너무 큰

+0

입력은 어떻게 BigInteger로 변환됩니까? – kennytm

+0

"BigInteger보다 큰"은 무엇을 의미합니까? –

+4

"Java에서 BigInteger보다 큰 수를 처리하는 방법" BigInteger에 대한 유일한 제한은 RAM입니다. 그래서 BigInteger가 보유 할 수있는 것보다 더 큰 숫자가 나올 가능성은 없습니다. –

답변

7

정수

당신이 valueOf(...)의 인수로 전달 한 유형이 int (이것은 당신이 지정하지 않으면 기본 유형이기 때문에 오류가주고 이유는 그렇지 않으면) 제한이 있으며이 제한을 초과하여 오류가 발생했습니다.

BigInteger l = BigInteger.valueOf(111111111111111110); // argument is int, so it will give a compiler error 

대신 long 인수를 사용하십시오.

BigInteger value = BigInteger.valueOf(111111111111111110L); 

또는 string 인수를 사용하십시오.

BigInteger value = new BigInteger("111111111111111110"); 
+4

'long' 접미어를 나타내는'L'을 사용하십시오. 'L'은'l'보다 읽기 쉽습니다.'l'은 어떤 글꼴에서'1'로 해석 될 수 있습니다. – Pshemo

+0

@Pshemo 확실한 것. :) –

관련 문제