C
[C] 부호를 고려하는 타입 이진수 범위
bunbun2
2023. 7. 5. 14:03
char 타입과 short, int 등 타입들은 unsigned가 아니기에 이진수에서 부호를 고려한다
예를들어 1byte인 char 자료형의 경우
1111 1111 ~ 0111 1111
의 범위고, 맨 왼쪽자리의 이진수가 1로 음수, 양수를 표현한다
그냥 십진수로 범위를 간단히 풀어서 보면
-128 ~ 127 인데, 1111 1111이 왜 -128인가 하고 생각이 났었음
일반적인 이진수의 경우는 1111 1111 이 127이니까.
근데 조금만 생각해보니
0 000 0000은 0이지만,
1 000 0000은 -1이기 때문에 음수쪽이 하나 더 많은게 맞다.