이전글
컴퓨터의 사칙연산 (보수법의 필요성)
컴퓨터는 compute 계산을 해주는 기계라고 설명했다.대표적인 계산이라 하면 사칙연산인 덧셈, 뺄셈, 곱셈, 나눗셈이 있다. 허나 컴퓨터는 연산의 효율성과 설계의 단순화를 위해모든 연산을 덧
kark.tistory.com
보수법을 통해 뺄셈 연산 시 보수를 얻는 과정을 알게 되었다.
그럼 이제 컴퓨터가 사용하는 이진수의 보수법을 알아보자.
① 모든 수를 뒤집는다. (1의 보수법)
② +1 해준다. (2의 보수법)
위처럼 간단하다.
-3 의 경우
0011 => 1100 => 1101 로 2의 보수를 통해 표현할수 있다.
좀 더 궁금했던 부분이
1의 보수 과정에서 끝나는게 아니며 +1의 과정이 필요하지?
왜 2의 보수를 사용해야하는거지?
라는 의문점이 생겼다.
정답은 0 값 때문이다.
0을 이진수로 표현하게 되면 0000 으로 표현하게 되는데,
해당 결과를 1의 보수로 표현하면 1111이라는 값을 얻게된다.
5 + (-5) = 0
0101 + 1010 = 1111 의 결과로 양의 0과 음의 0이 별도로 표현된다.
2의 보수를 통한 연산과정
0101 + 1011 = 10000 에서 오버플로우 비트를 버리면 0000 으로 표현되어
2의 보수로 표현하게 되면 + , -의 0 이 하나로 표현된다.
또한 4bit 는 16의 경우의 수를 얻게되는데
1의 보수에서는 0000 과 1111로 같은 값을 두개로 나타내는 반면
2의 보수에서는 0000의 하나의 값으로 취하게 되어 1의 보수법보다 하나의 데이터를 더 저장할 수 있게된다.
'CS' 카테고리의 다른 글
DI & DIP 의존성주입과 의존관계 역전원칙 (0) | 2024.12.11 |
---|---|
String 문자열의 불변성 (1) | 2024.09.02 |
컴퓨터의 사칙연산 (보수법의 필요성) (0) | 2024.07.14 |
고정 소수점, 부동 소수점 (0) | 2024.07.09 |
16진수 표기는 어디에 사용될까 (0) | 2024.07.01 |