2016-09-20 2 views
0

내 프로그램이 매우 큰 숫자를 입력으로 처리해야하므로 long을 선택했습니다. 크기가 long 인 변수 longarray으로 만들면 오류가 발생합니다. 누군가 여기에 무엇이 잘못되었는지에 대한 통찰력을 제공해 줄 수 있습니까?긴 변수를 크기로 사용하여 긴 배열을 만들 때 오류가 발생했습니다.

오류 :

long[] Arr = new long[n]; 
        ^ //incompatible types: possible lossy conversion from long to int 

코드 : n 긴 타입처럼

private static long foo(long n, long m) { 
    if (n <= 1) return n; 
    long[] Arr = new long[n]; 
    return 0; 
} 
+2

언제든지 곧 데이터 9,223,372,036854775807 슬롯이 필요하다고 생각하지 않습니다. –

+0

가능한 복제본 [http://stackoverflow.com/questions/14571557/create-an-array-of-long](http://stackoverflow.com/questions/14571557/create-an-array-of-long) –

답변

2

보인다. 그러나 배열 길이는 int

1

이어야합니다. 프로그램에서 매우 큰 숫자를 처리해야하는 경우 BigInteger 또는 BigDecimal 유형을 사용하는 것이 좋습니다. 이러한 유형에는 이론적 인 제한이 없으며 필요에 따라 많은 메모리를 할당합니다. 따라서 사용 가능한 메모리 양만 제한됩니다.

관련 문제