본문 바로가기

Programming/Logic design

complement number system

1. Unsigned Number and Signed Numbers

 

기본적으로 2진법으로 표현된다. 

다만 signed numbers는 앞에 첫 1 bit가 부호로 표현이 된다. 

0인 경우 아무것도 없으니 +

1인경우 1 작대기가 있으니 -로 부호가 표시된다.

 

다만 이런게 표현할 경우 몇가지 문제점이 생긴다. 

 

 

2. Complement Number systerm - 보수

 

보수를 사용하게 되면 - 부호가 없이도 뺄셈 등을 할 수 있다.

이는 컴퓨터 bit들을 가지고 연산을 할 때 유용하게 사용된다. 

 

컴퓨터는 사칙 연산을 할 때

1. 2진수

2. 가산기

만을 이용해서 계산을 한다.

그래서 뺄셈이나 나눗셈을 할 때는 보수를 이용해서 해야한다.

 

예를 들어서 

9 - 6 = 3이다 뺄셈을 우리는 쉽게 계산할 수 있지만

보수를 이용해 뺄셈을 할때는

-6의 보수 -> 4를 더해서 한다.

9 + 4 = 13 에서 마지막 숫자 3만 뽑아서 한다. 

 

 

보수는 2가지가 사용된다. n진수에서

Radix - complment : n's complement number system

Diminished Radix - complment : (n-1)'s complement number system

 

 

ex) 2진수에서 Diminished Radix (1의 보수)

 

2진수에서 Radix (2의 보수)

 

 

 

두 complement의 비교

 

 

결론적으로 2진수로 뺄셈을 할 때 특히 Radix로 할 때는 

1. 빼고자 하는 숫자의 0과 1을 서로 바꾸어준다.

2. 바꾼 숫자에 1을 더해준다.

3. 산수 계산을 해준다. 

4. ex) 4bit 계산일 떄 5bit 숫자는 삭제한다. 

 

 

'Programming > Logic design' 카테고리의 다른 글

논리설계 Logic design switching algebra  (0) 2021.03.23
논리설계 Logic design NAND, NOR gate  (0) 2021.03.23
SOP, POS truth table  (0) 2021.03.22