비트 연산 계산기
두 정수를 입력하면 자주 쓰는 비트 연산을 한 번에 보여줍니다: AND, OR, XOR, NOT(~A, ~B), 그리고 임의 자릿수의 좌/우 시프트입니다. 각 결과는 2진수(니블 단위로 묶음), 16진수, 부호 없는 10진수, 2의 보수 부호 있는 10진수로 표시됩니다. 8·16·32·64비트 폭을 고르면 결과가 그 크기로 래핑되어, NOT과 시프트가 C·Rust나 레지스터에서와 똑같이 동작합니다. 입력은 10진수, 0x 16진수, 0b 2진수, 0o 8진수를 받으며 음수는 2의 보수로 해석됩니다. 임의 정밀도 정수로 계산해 64비트 값도 정확합니다. 임베디드 작업, 비트 플래그·마스크, 프로토콜 디코딩, 비트 연산 학습에 유용합니다.
10진수, 0x 16진수, 0b 2진수, 0o 8진수 입력 가능(음수 허용).
| 식 | 2진수 | 16진수 | 10진수 | 부호 있음 |
|---|---|---|---|---|
| A | 0000 1100 | 0x0C | 12 | 12 |
| B | 0000 1010 | 0x0A | 10 | 10 |
| A & B | 0000 1000 | 0x08 | 8 | 8 |
| A | B | 0000 1110 | 0x0E | 14 | 14 |
| A ^ B | 0000 0110 | 0x06 | 6 | 6 |
| ~A | 1111 0011 | 0xF3 | 243 | -13 |
| ~B | 1111 0101 | 0xF5 | 245 | -11 |
| A << 1 | 0001 1000 | 0x18 | 24 | 24 |
| A >> 1 | 0000 0110 | 0x06 | 6 | 6 |
사용법
- A와 B에 두 정수를 입력합니다(10진수 또는 0x / 0b / 0o 접두어).
- 비트 폭과 시프트 양을 고릅니다.
- 각 연산을 2진수·16진수·부호 없는/있는 열에서 확인합니다.
자주 묻는 질문
- 음수는 어떻게 처리되나요?
- 선택한 폭의 2의 보수로 해석됩니다. 예를 들어 −1은 모두 1(8비트에서 0xFF)이 됩니다. 부호 있는 열은 모든 결과의 2의 보수 값을 보여줍니다.
- 비트 폭은 무엇을 바꾸나요?
- 결과를 그 비트 수로 마스킹하며, 이는 NOT과 시프트에서 중요합니다. ~12는 8비트에서 0xF3, 32비트에서 0xFFFFFFF3 입니다 — C의 고정 크기 정수나 CPU 레지스터와 같습니다.
- 16진수나 2진수도 입력되나요?
- 네 — 16진수는 0x(0xFF), 2진수는 0b(0b1010), 8진수는 0o 접두어를 쓰면 됩니다. 일반 10진수도 됩니다.
- 64비트 결과도 정확한가요?
- 네. 내부적으로 임의 정밀도 정수를 사용하므로, 32비트 JavaScript 비트 연산자와 달리 64비트 연산에서 정밀도를 잃지 않습니다.
관련 도구
2의 보수 변환기 (8–64비트)
십진·hex·이진·8진 값을 입력해 8/16/32/64비트 2의 보수 비트 패턴과 부호 있는/없는 해석, hex, 8진, 1의 보수를 확인 — 브라우저에서.
ASCII 코드 표
256행 ASCII / 확장 ASCII 표 — 10진·16진·8진·2진 + 제어 문자 이름. 검색·복사.
진법 변환기
2진수·8진수·10진수·16진수 사이로 숫자를 변환하세요.
Hex Dump 뷰어
텍스트 또는 작은 파일을 오프셋 + hex 바이트 + 인쇄 가능 ASCII로 표시. `xxd`나 `hexdump -C` 형식.
그레이 코드 변환기
10진수·2진수·반사 2진 그레이 코드 간 양방향 변환, 선택적 고정 비트 폭과 0-7 참조표 제공.
BCD 변환기 (2진화 10진수)
10진수 ↔ 8421 2진화 10진수 변환 — 자릿수별 4비트 니블, 패킹 BCD 16진 바이트, BCD 유효성 검사.