2014-10-29 3 views
1

긴 [] = {RC1 0x0000000000000000, 0x13198a2e03707344, 0xa4093822299f31d0, 0x082efa98ec4e6c89, 0x452821e638d01377, 0xbe5466cf34e90c6c, 0x7ef84f78fd955cb1, 0x85840851f1ac43aa, 0xc882d32f25323c54, 0x64a51195e0e3610d, 0xd3b5a399ca0c2399, 0xc0ac29b7c97c50dd};위한 데이터 형식

이 코드는 16 진수 값이 너무 큼을 보여주기 때문에 Java에서는 지원되지 않습니다. 값을 십진수로 변경했지만 여전히 큰 값입니다. 다른 해결책이 있습니까?

답변

6

long (그리고 int이 아님)을 지정해야합니다. 이 아스키 문자 L 또는 L (접미사로되어있는 경우에는 JLS-3.10.1

리터럴 정수 유형 long이다

에서

long[] RC1 = { 0x0000000000000000L, 0x13198a2e03707344L, 
      0xa4093822299f31d0L, 0x082efa98ec4e6c89L, 0x452821e638d01377L, 
      0xbe5466cf34e90c6cL, 0x7ef84f78fd955cb1L, 0x85840851f1ac43aaL, 
      0xc882d32f25323c54L, 0x64a51195e0e3610dL, 0xd3b5a399ca0c2399L, 
      0xc0ac29b7c97c50ddL }; 

처럼 문자 l 또는 L의 접미사를 추가하면됩니다 엘); 그렇지 않으면 유형은 int (§4.2.1)입니다.

글자 l (ell)은 숫자 1 ()과 구별하기가 쉽기 때문에 접미사 L을 사용하는 것이 좋습니다.