2014-04-01 2 views
2
나는 512 비트 BigInts를 생성해야

에 저장됩니다,하지만 난 사실 아래 두 가지 중 어느 확실하지 않다 :어떻게 BigInteger를

512 비트 후가 나타내는 진수로 변환됩니다 1010101010...001010 512 자리 숫자를 의미?

또는 0-9 512 자리를 의미합니까? 따라서 기본적으로 0-9 사이의 숫자가있는 512 자리 숫자입니까? 12414124124와 같은 것 .... 54543 = 512 자리. 소스 코드에서

+0

는 각 비트는 당신이 정말로 알고 싶은 경우는 0 또는 1 – csmckelvey

+0

, 당신이 당신의 JDK 설치 디렉토리에있는 파일'src.zip'에서 찾을 수있는 소스 코드를 조회 나타냅니다. – Jesper

답변

4

는, 그들은 빅 엔디안 순서에서는, int 배열

이 BigInteger의 크기에 저장됩니다 :이 배열의 제로 번째 요소는 크기의 최상위 INT이다. 가장 중요한 int (mag [0])가 0이 아니어야하므로 크기는 "최소"여야합니다. 이것은 각 BigInteger 값에 대해 정확히 하나의 표현이되도록하기 위해 필요합니다. 이것은, BigInteger 제로에 제로 길이의 mag 배열이있는 것을 의미합니다.

118 
119  int[] mag; 
120 
121  // These "redundant fields" are initialized with recognizable nonsense 
122  // values, and cached the first time they are needed (or never, if they 
123  // aren't needed). 
124 
관련 문제