더북(TheBook)

028 부호 없는 수로 변환

 

이 문제에서는 부호 있는 int가 주어졌을 때 부호 없는 long으로 변환해야 한다. 따라서 부호 있는 Integer.MIN_VALUE, 즉 -2,147,483,648을 예로 살펴보자.

JDK 8에서는 Integer.toUnsignedLong() 메서드로 다음과 같이 변환한다(결과는 2,147,483,648이다).

long result = Integer.toUnsignedLong(Integer.MIN_VALUE);

또 다른 예제로서 부호 있는 Short.MIN_VALUEShort.MAX_VALUE를 부호 없는 정수로 변환해보자.

int result1 = Short.toUnsignedInt(Short.MIN_VALUE);
int result2 = Short.toUnsignedInt(Short.MAX_VALUE);

같은 부류에 속하는 다른 메서드로는 Integer.toUnsignedString()Long.toUnsignedString(), Byte.toUnsignedInt(), Byte.toUnsignedLong(), Short.toUnsignedInt(), Short.toUnsignedLong()이 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.