unsigned는 C/C++ 언어에서 사용되는 지정자로 정수형과 같이 사용되어 부호 비트를 제거해 저장 가능한 양수 범위를 두배로 늘이는 역할을 한다. char와 int의 signed 정수형 변수에서 MSB가 부호 비트이다. 1이면 음수이고 0이면 양수이다. 그러나 unsigned을 사용하면 음수를 사용하지 않겠다는 의미 이므로 부호 비트가 필요 없다. 따라서 이진수와 같은 십진수가 된다.
unsigned char편집
8비트 정수형 변수 선언 char와 결합하여 선언하면 부호 비트가 필요 없으므로 0 ~ 255 범위를 갖는다.
10진수
|
2진수
|
---|
255
|
1111 1111
|
---|
254
|
1111 1110
|
---|
253
|
1111 1101
|
---|
...
|
...
|
---|
1
|
0000 0001
|
---|
0
|
0000 0000
|
---|
unsigned int편집
unsigned int는 양수만 저장한다. 때문에 부호에 비트를 사용하지 않아 저장 가능한 양수의 범위를 두 배로 늘인다. signed int보다 더 넓은 범위의 양수(0~4,294,967,295)를 표현할 수 있지만 실제 표현 가능한 개수는 음수를 포함한 signed int와 동일하다.