unsigned에 대하여.



일반적으로 컴퓨터는 양의 계산만을 한다.

이에 따라 음의 수를 표현하거나 할때는 보수법이나 절대부호법 등을 사용한다.

또한, 각 자료형 마다 표현할 수 있는 수의 범위가 다르다.



예를 들면, byte 형은 1byte 의 크기를 갖느다.

1 byte = 8 bits 임으로 byte 형의 자료가 가질 수 있는 숫자의 수는 2의 8승인 256가지이다.



여기서 만약 양수로만 표현한다면 byte 형은 0 ~ 255 까지의 수를 가질 수 있다.

만약 음수까지 같이 갖는 다면 -128 ~ 127 까지의 수를 가질 수 있다.



두가지 경우 모두 256개의 숫자임은 변하지 않는다.




이런 경우에 만약 누군가는 음의 부호를 사용하고 싶지 않을때, 사용 할 수 있는 것이 unsigned 이다.(나이 같은 값을 저장한다면 음수는 필요없으니까요~!)


'Unsigned 의 의미는 부호를 구별하지 않겠다.' 즉, 양수만을 사용하겠다는 의미이다.





하지만 가장 중요한 것은 JAVA 에서는 unsigned 를 사용하지 않는는 것이다.



추가적으로,

JAVA 8 부터 Integer 와 Long 클래스의 메소드로 unsigned 를 사용 할 수 있다는 것 같지만,

여전히 C 처럼 (unsigned) char a = 128; 과 같은 선언은 불가하다.


 

+ Recent posts