비트 연산 계산기
개발
두 정수를 입력하면 자주 쓰는 비트 연산을 한 번에 보여줍니다: 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비트 연산에서 정밀도를 잃지 않습니다.
관련 도구
Base64 ↔ 16진수 변환기
Base64 문자열을 16진수 바이트로, 16진수를 다시 Base64로 변환합니다. URL-safe 지원, 브라우저에서 동작합니다.
개발00
Quoted-Printable 인코더 & 디코더
텍스트를 MIME Quoted-Printable(RFC 2045)로 인코딩하거나 다시 디코딩 — =XX 이스케이프·소프트 줄바꿈·UTF-8 처리, 인코딩 시 76자 줄바꿈 — 브라우저에서.
개발00
해시 생성기 (SHA)
텍스트로 SHA-1·SHA-256·SHA-384·SHA-512 해시를 생성하세요.
개발00
URL 인코더 / 디코더
URL용으로 텍스트를 퍼센트 인코딩하거나, 인코딩된 URL을 디코딩하세요.
개발00
Base64 인코더 / 디코더
텍스트를 Base64로 인코딩하거나 다시 텍스트로 디코딩하세요.
개발00
JSON 포맷터 & 검증기
브라우저에서 바로 JSON을 포맷·정렬·압축·검증하세요.
개발00