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

10진수, 2진수, 16진수 입력/출력으로 정수의 비트 논리 연산을 즉시 수행합니다.

연산을 선택하고 10진수, 2진수, 16진수로 값을 입력하면 비트 연산 결과를 계산할 수 있습니다.

비트 연산 계산기 - AND, OR, XOR, NOT, 시프트 연산
10진수, 2진수, 16진수 입력/출력으로 정수의 비트 논리 연산을 즉시 수행합니다.

비트 연산 계산기 소개

비트 연산은 정수의 이진 표현에 직접 작용하는 기본적인 계산입니다. 숫자를 하나의 값으로만 보지 않고 각 비트 위치를 개별적으로 검사하고 조작합니다. 이러한 저수준 제어 덕분에 시스템 프로그래밍, 임베디드 개발, 암호학, 성능이 중요한 알고리즘에서 매우 중요합니다. AND 연산 (&) 은 두 피연산자의 대응 비트가 모두 1일 때만 1을 출력합니다. 특정 비트를 마스킹하는 데 자주 사용되며, 예를 들어 `value & 0xFF` 는 임의의 정수에서 하위 8비트만 추출합니다. OR 연산 (|) 은 어느 한쪽 또는 양쪽 비트가 1이면 해당 비트를 1로 설정하므로 플래그 결합과 특정 비트 설정에 유용합니다. XOR 연산 (^) 은 두 입력 비트가 다를 때만 1을 출력하므로 비트 전환, 동일성 검사, 일부 암호 알고리즘에 적합합니다. NOT 연산 (~) 은 피연산자의 모든 비트를 반전합니다. JavaScript의 32비트 부호 있는 정수 모델에서 `~n` 은 `-(n + 1)` 과 같습니다. 결과는 이해를 돕기 위해 부호 없는 32비트 이진 문자열로 표시됩니다. 왼쪽 시프트 (<<) 는 모든 비트를 지정한 만큼 왼쪽으로 이동하며, 2의 거듭제곱을 곱하는 것과 같습니다. 오른쪽 시프트 (>>>) 는 비트를 오른쪽으로 이동하며, 2의 거듭제곱으로 나누는 것과 같습니다. 현대 하드웨어에서는 비트 연산이 CPU 한 클럭 사이클에 수행되어 동등한 산술 연산보다 훨씬 빠릅니다. 그래서 해시 함수, 체크섬 알고리즘, 그래픽스의 색상 패킹(RGBA 채널을 하나의 32비트 정수에 저장), 운영체제 권한 플래그, 네트워크 프로토콜 구현에서 자주 사용됩니다. 이 계산기는 10진수(밑 10), 2진수(밑 2), 16진수(밑 16) 입력을 지원하며 세 가지 형식의 결과를 동시에 반환합니다. 수동 변환 없이 표현을 비교할 수 있습니다. 모든 계산은 ECMAScript 사양과 일치하는 JavaScript 32비트 정수 비트 연산 의미를 사용합니다.

비트 연산 예시

입력값과 10진수, 2진수 결과를 보여주는 일반적인 비트 연산 예시입니다.

연산결과(10진수)이진 표현
12 AND 1081100 & 1010 = 1000
12 OR 10141100 | 1010 = 1110
12 XOR 1061100 ^ 1010 = 0110
NOT 5-6~00000101 = 11111010(부호 있는 32비트)
3 LEFT SHIFT 212011 << 2 = 1100(4배)
24 RIGHT SHIFT 3311000 >>> 3 = 00011(8로 나눔)

비트 연산 계산기 사용 방법

  1. 수행할 비트 연산을 선택합니다: AND, OR, XOR, NOT, 왼쪽 시프트, 오른쪽 시프트.
  2. 숫자에 맞는 입력 형식인 10진수, 2진수, 16진수를 선택합니다.
  3. 선택한 형식으로 첫 번째 숫자 입력란에 첫 번째 값을 입력합니다.
  4. 이항 연산(AND, OR, XOR, 시프트)의 경우 두 번째 숫자 / 시프트 수 입력란에 두 번째 값 또는 시프트 수를 입력합니다.
  5. 계산을 클릭하면 10진수, 2진수, 16진수 결과를 동시에 볼 수 있습니다.

비트 연산 계산기 FAQ

비트 AND 연산이란 무엇인가요?
비트 AND는 두 숫자의 대응하는 각 비트를 비교하여, 두 비트가 모두 1일 때만 1을 출력하고 그렇지 않으면 0을 출력합니다. 예를 들어 12 AND 10의 이진 결과는 1100 & 1010 = 1000이며, 10진수로는 8입니다. 특정 비트를 마스킹하거나 추출하는 데 자주 사용됩니다.
비트 XOR는 어떻게 동작하나요?
비트 XOR(exclusive OR)은 두 입력 비트가 다를 때 1을 출력하고 같을 때 0을 출력합니다. 예를 들어 12 XOR 10은 1100 ^ 1010 = 0110 = 6입니다. XOR은 암호화, 체크섬, 다른 비트에 영향을 주지 않고 특정 비트를 전환할 때 널리 사용됩니다.
NOT 연산은 숫자에 무엇을 하나요?
비트 NOT(~)는 피연산자의 모든 비트를 반전합니다. 32비트 부호 있는 정수 연산에서 ~n은 -(n + 1)과 같습니다. 따라서 ~5 = -6, ~0 = -1입니다. 이 계산기는 뒤집힌 모든 비트를 명확히 보이도록 결과를 부호 없는 32비트 이진 문자열로 표시합니다.
왼쪽 시프트와 오른쪽 시프트의 차이는 무엇인가요?
왼쪽 시프트(<<)는 지정한 횟수만큼 모든 비트를 상위 방향으로 이동시키고 빈 자리를 0으로 채웁니다. 이는 시프트 수만큼 2의 거듭제곱을 곱하는 것과 같습니다. 오른쪽 시프트(>>>)는 비트를 하위 방향으로 이동시키고 0으로 채우며, 2의 거듭제곱으로 나누는 것과 같습니다.
언제 16진수 입력을 사용해야 하나요?
메모리 주소, 색상 코드(예: 빨간색의 0xFF0000), 네트워크 마스크, 또는 문서와 소스 코드에서 보통 16진수로 표현되는 값을 다룰 때 16진수가 편리합니다. 각 16진수 자리는 정확히 4비트를 나타내므로, 2진 데이터를 간결하고 읽기 쉽게 표현할 수 있습니다.
왜 비트 연산이 프로그래밍에서 중요한가요?
비트 연산은 CPU 한 사이클에 실행되므로 매우 빠릅니다. 시스템 프로그래밍에서는 하드웨어 레지스터 설정에, 그래픽스에서는 RGBA 색상 패킹에, 암호학에서는 암호 알고리즘에, 게임 개발에서는 플래그의 간결한 저장에 사용됩니다. 이를 이해하는 것은 컴퓨터 과학의 기초입니다.