컴퓨터 구조/Integer Arithmetic

4. 곱셈기(Multiplier) #1

아임코더 2022. 7. 29. 14:20

먼저 2진수에서 곱셈 원리를 이해하자. multiplicand를 multiplier 각 bit 별 쪼개어서 곱한다. 다음으로 각각 구해진 값들을 모두 더하면 된다. 간단한 예로 0011 * 0101 을 해보자.

4bit 곱셈

 

ⓑ, ⓓ - multiplier의 bit가 0인 경우 결괏값은 항상 0이다.
ⓐ, ⓒ - multiplier의 bit가 1이라면 그 bit가 왼쪽에서부터 떨어진 만큼 multiplicand를 오른쪽으로 이동한 값이 결괏값이다.
ⓒ를 보면 왼쪽에서 2번째 bit이므로multiplicand 오른쪽으로 2번 이동한 값이 결괏값이다.

구해진 각각 결괏값들을 모두 더하면 된다. ⓑ, ⓓ와 같이 결괏값이 0인 경우는 더하지 않아도 된다.