C언어 기본
컴퓨터의 음수
홍박스
2021. 7. 21. 15:31
728x90
컴퓨터는 음수의 덧셈을 한다.
10 + (?) = 0
? -> -10
0000 0101 = 10
1111 1011 = -10
5 + (?) = 0
? -> -5
다시 말해 컴퓨터는 음수를 더했을때 0이 되는 아이를 음수로 정의한다.
0111 1111 = 127
그럼 -127은?
127 + (?) = 0
1000 0001
그래서 동일한 값이 채워져있어도 해석의 차이에 따라서 변화된다.
언사인드 int 이라면 255라고 읽혀지지만
사인드라면 음수로 읽는다.
예를들면 나에겐 아버지이지만
할아버지에게는 아들인것과 비슷하다.
unsigned char c = -1
c -> 255
signed char c = 128
c -> -1
생각해보기
2의 보수법
0000 0010 -> 2
1111 1101 +1 -> 1111 1110 -> -2
728x90