비트 시프트(Bit Shift) 연산과 곱셈의 관계

컴퓨터에서 왼쪽 시프트 연산(<<)은 이진수의 모든 비트를 왼쪽으로 한 칸 이동시킵니다. 이는 값에 2를 곱하는 것과 정확히 같습니다.

예를 들어, A << k는 A × 2k를 계산하는 가장 빠른 연산 방식입니다.

이 성질을 활용하면, 승수(B)를 이진수로 전개하여 1인 비트 위치만큼 피승수(A)를 왼쪽으로 시프트한 후 모두 더함으로써 곱셈(A × B)을 구현할 수 있습니다!

📊 실습 시각화

피승수 A (10진수: 5)
승수 B (10진수: 6)
시프트 결과 (A << 0)
누적 합 (10진수: 0)
대기 중... (시작 버튼을 누르면 연산 수식이 이곳에 표시됩니다.)

💻 C언어 코드

#include <stdio.h>
int main() {
    int A = 5, B = 6;
    int result = 0;
    
    for (int i = 0; i < 4; i++) {
                if ((B >> i) & 1) {
                        result += (A << i);
        }
    }
        printf("Result: %d\n", result);
    return 0;
}

실행 로그