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

두 개의 32비트 정수에 AND, OR, XOR, NAND, NOR, XNOR, NOT, 시프트, 회전을 적용하고 결과를 10진수·16진수·8진수·2진수로 확인하세요 — 100% 브라우저에서 실행되며 업로드되지 않습니다.

10진수 8
16진수 0x00000008
8진수 0o00000000010
2진수
0000 0000 0000 0000 0000 0000 0000 1000

16진수·8진수·2진수는 부호 없는 32비트 값으로 표시됩니다.

🔒 모든 비트 연산은 브라우저에서 처리되며 업로드되지 않습니다.

이 비트 연산 계산기의 기능

두 정수를 10진수(예: 255), 16진수(0xFF), 8진수(0o755), 2진수(0b1010)로 입력하고 연산을 선택하면 결과를 10진수, 16진수, 8진수, 32비트 2진수로 즉시 확인할 수 있습니다. AND, OR, XOR, NAND, NOR, XNOR, NOT(A에 대한 단항 연산), 왼쪽 시프트(A << B), 산술 오른쪽 시프트(A >> B), 논리 오른쪽 시프트(A >>> B), 왼쪽 회전(ROL), 오른쪽 회전(ROR)을 지원합니다. 회전은 JavaScript에 연산자가 없는 유일한 비트 연산입니다. 모든 값은 JavaScript, C 등 대부분의 시스템 언어와 동일한 방식으로 32비트 정수로 처리됩니다.

부호 있는 수, 부호 없는 수, 2의 보수

10진수 출력은 부호 있는 32비트 규칙을 따르므로 NOT 0은 -1을 반환하며, 두 값이 다를 때는 부호 없는 값 4294967295도 바로 옆에 함께 표시됩니다. 16진수·8진수·2진수 출력은 부호 없는 32비트 패턴(제로 채움 시프트 기준)으로 표시되며, 그래서 -1이 0xFFFFFFFF, 0o37777777777, 전체 1의 2진수로 나타납니다. 산술 오른쪽 시프트는 부호 비트를 복사하고 논리 오른쪽 시프트는 0으로 채우는데, 이 둘을 나란히 비교하면 흔한 버그를 쉽게 파악할 수 있습니다.

자주 묻는 질문

>> 와 >>> 의 차이는 무엇인가요?

A >> B는 부호 비트를 유지하는 산술 오른쪽 시프트로 음수는 계속 음수로 남습니다. A >>> B는 비워진 상위 비트를 0으로 채우는 논리 오른쪽 시프트로 항상 부호 없는 결과를 만듭니다.

비트 회전이나 NAND·NOR·XNOR도 되나요?

됩니다. 왼쪽 회전(ROL)과 오른쪽 회전(ROR)은 32비트 밖으로 밀려난 비트를 반대쪽 끝으로 돌려 넣습니다. 같은 32비트 폭 안에서 0부터 31까지의 횟수를 받습니다. NAND·NOR·XNOR도 같은 목록에 있고 각각 기본 게이트를 부정한 값이므로 ~(A & B)를 두 단계로 나눌 필요가 없습니다.

16진수·8진수·2진수 값도 입력할 수 있나요?

네. 10진수(예: 42), 0x 접두사를 붙인 16진수(0x2A), 0o 접두사를 붙인 8진수(0o755 — 파일 권한을 적는 그 표기), 0b 접두사를 붙인 2진수(0b101010)로 입력할 수 있습니다. -5나 -0x10처럼 앞에 마이너스 기호를 붙일 수도 있습니다.

서버로 업로드되는 것이 있나요?

아니요. 모든 파싱과 비트 연산은 브라우저에서 JavaScript로 로컬 처리됩니다. 입력한 내용은 어디에도 전송·저장·업로드되지 않습니다.