%3C/text%3E%3C/svg%3E">
💻
💻 IT·개발

비트 연산 계산기 (AND, OR, XOR, NOT, 시프트)

입력하면 바로 계산됩니다.

입력값

비트 연산 계산기 쉽게 이해하기 — 개념과 원리

비트 연산은 정수의 크기가 아니라 각 자리의 비트 하나하나에 작용하는 연산입니다. 권한 플래그와 마스크, 여러 작은 값을 한 정수에 묶는 일, 해시, 그래픽, 네트워크 마스크, 2의 거듭제곱 곱셈·나눗셈 등에 널리 씁니다. 이 계산기는 두 10진수에 AND, OR, XOR, NOT과 세 가지 시프트를 32비트 2의 보수 정수 규칙으로 적용합니다.

12와 10의 AND, OR, XOR, 시프트1100 AND 1010 = 1000(8), OR = 1110(14), XOR = 0110(6)이고, 12를 왼쪽으로 2칸 밀면 48, 오른쪽으로 2칸 밀면 3입니다.자리마다 한 칸씩 비교A1100= 12B1010= 10AND1000= 8OR1110= 14XOR0110= 612 << 2 = 110000 = 48× 412 >> 2 = 11 = 3÷ 4
AND는 둘 다 1, OR는 하나라도 1, XOR는 서로 다른 자리만 1이며, 시프트 한 칸은 2배 또는 절반입니다.

계산 방법

결과는 10진수와 2진수로 함께 보여 주며, 음수는 32비트 전체 패턴으로 표시합니다.

원리

2진수는 2의 거듭제곱의 합이고, AND·OR·XOR에서는 각 자리가 서로 영향을 주지 않으므로 32개의 논리 게이트가 나란히 동작하는 것과 같습니다. 시프트는 모든 비트를 한 단계 큰(또는 작은) 2의 거듭제곱 자리로 옮기므로 값이 2배씩 바뀝니다. 2의 보수는 −x를 NOT x + 1로 나타내어 맨 앞 비트가 부호 역할을 하고, 음수도 보통의 덧셈 회로로 계산할 수 있게 해 줍니다. 같은 규칙에서 NOT A = −A − 1이 나옵니다.

예제 풀이

  1. 입력은 A = 12(1100), B = 10(1010), 시프트 2입니다.
  2. AND는 1000 = 8, OR는 1110 = 14, XOR는 0110 = 6입니다.
  3. NOT 12는 32비트를 뒤집은 11111111111111111111111111110011로, −13(= −12 − 1)입니다.
  4. 12 << 2 = 110000 = 48(12 × 4)입니다.
  5. 12 >> 2 = 11 = 3이고, 12가 양수이므로 12 >>> 2도 3입니다.

결과 해석

플래그가 켜져 있는지는 값 AND 마스크가 0이 아닌지로 확인합니다. 켤 때는 OR, 끌 때는 AND NOT 마스크, 뒤집을 때는 XOR를 씁니다. 산술·논리 오른쪽 시프트는 음수에서만 다릅니다. −8 >> 1은 −4이지만 −8 >>> 1은 2147483644입니다.

흔한 실수

주의: 결과는 자바스크립트의 32비트 규칙을 따릅니다. C에서는 음수 시프트나 부호 있는 수의 넘침이 정의되지 않은 동작일 수 있고, 파이썬 정수는 폭이 정해져 있지 않으므로 경계에서 결과가 다를 수 있습니다.

자주 묻는 질문

NOT 12는 왜 음수입니까?

32비트를 모두 뒤집으면 부호 비트가 1이 되고, 2의 보수로 읽으면 −13입니다.

A << 1은 항상 A × 2와 같습니까?

결과가 32비트 범위 안에 있을 때만 같습니다.

XOR는 어디에 씁니까?

비트 뒤집기, 패리티와 체크섬, 두 비트 패턴의 차이 비교 등에 씁니다.

출처: Ecma International, ECMA-262 ECMAScript Language Specification · Henry S. Warren Jr., Hacker's Delight, 2nd ed., Addison-Wesley, 2012

2026년 11월 8일 확인. 표준 공식과 RFC/IEEE 정의를 사용해 브라우저 안에서만 계산합니다. 입력한 내용은 어디에도 전송되지 않습니다.

💻 IT·개발 계산기 전체 →🏠 홍라이프 계산기 홈 →