본문 바로가기

프로그래밍/논리회로

[논리회로] 2진수 숫자의 곱셈 방법 (Multiplication of Binary)

[Digital Systems]

 

https://midoriprogramming.tistory.com/10

 

[논리회로] 부호 절대값, 1의 보수, 2의 보수와 부호 확장 (Sign and magnitude form & 1's complement / 2's compl

[Digital Systems] p363-367 https://midoriprogramming.tistory.com/4 [논리회로] 10진수에서 2진수로 전환하는 방법 (Decimal to Binary Conversion), Repeated Division [Digital Systems] p59-60 https://mido..

midoriprogramming.tistory.com

 

지난 시간에 부호 절대값, 1의 보수, 2의 보수, 부호 확장에 대해서 알아봤다.

 

이번에는 2진수 숫자의 곱셈 방법에 대해서 알아보겠다.

 

 

 

 

○ 부호가 없는 2진수의 곱셈 (Multiplication of Unsigned Binary)

 

부호가 없는 2진수의 곱셈은 10진수 숫자 곱셈과 같은 방식으로 수행한다.

 

 

● 예시

 

0110에 1을 곱하고 그 다음 자리수는 0110에 0을 곱하고.. 

이런 과정을 반복해서 더해주면 부호가 없는 2진수의 곱셈은 끝이다.

 

10진수의 곱셈과 방법이 같기에 이해가 쉽다.

 

 

 

 

 

 

○ 부호가 있는 2진수의 곱셈 (Multiplication of Signed Binary)

 

부호가 있는 2진수의 곱셈 역시 방법 자체는 10진수 곱셈과 같다.

 

하지만 부호를 신경써줘야한다는 점이 다르다.

 

  • 양수 X 양수 ≫ 부호가 없는 2진수의 곱셈과 동일
  • 양수 X 음수(or 음수 X 양수) ≫ 음수를 양수로 바꾸어 계산한 후, 결과값을 음수로 변경한다.
  • 음수 X 음수 ≫ 두 음수를 모두 양수로 바꾸어 계산한다.

 

● 예시

 

 

2진수에서 음수는 곱할 수 없어서 모두 양수로 바꾼 뒤 계산하고, 결과값만 음수인지 양수인지 신경써주면 된다.