자바에 없는 unsigned int 없다
자바에는 char를 제외하고 unsigned 키워드를 아예 없애버렸다.
그 이유는 자바를 만든 제임스 고슬링이 c++에서 unsigned로 인한 오류를 너무 많이 보고 겪었기 때문에
포함시키지 않기로 하였다.
자바 자체로는 unsigned를 사용하지 않아 문제없지만
네트워크를 통해 다른 언어와 통신하다보면 자연스럽게 unsigned 문제는 고스란히 나온다.
자바에서는 unsigned int를 지원하지 않으니 한 번에 캐스팅이 불가하여
자체적으로 처리를 해야하며 그 처리 방법은 아래와 같다.
public long unsigned32(int n) { return n & 0xFFFFFFFFL; }
signed int로 넘어온 값을 long형으로 캐스팅하여 사용하는 방법이다.
42억정도의 값을 int로 받게 되면 앞자리가 1로 변경되어 자바에서는 자연스럽게 -20억대 값이 나오므로
이를 long형으로 형변환하여 정확히 원하는 값을 볼 수 있도록 하는 것이다.
'Nam Site > Java' 카테고리의 다른 글
[JAVA] 소켓 프로그래밍 (클라이언트) (0) | 2016.12.02 |
---|---|
[JAVA] Socket 프로그래밍 (서버 & 바이너리 통신) (0) | 2016.12.01 |
[Java] String to int, int to String 형변환 (0) | 2016.11.28 |