숫자·비트 연산·단위

비트 연산 계산기플래그 하나까지 확인

비트 폭과 입력 진수를 고른 뒤 체크박스로 마스크의 변화를 살펴보세요.

비트 연산 계산기

입력

비트 0이 최하위 비트입니다. 체크박스는 해당 입력값을 직접 바꿉니다.

결과

10진수 결과
8
부호 없는 10진수
8
부호 있는 10진수
8
2진수
00001000
16진수
0x08
8진수
0o10
70
60
50
40
31
20
10
00

켜진 비트 위치 (1개): 3

입력은 이 브라우저에서 처리되며 서버로 전송되지 않습니다.

옵션

입력마다 최대 256자의 정수 하나를 사용하세요. 0b/0o/0x는 선택한 진수와 일치해야 하며 소수나 구분자는 허용하지 않습니다.

부호 모드는 음수를 허용하고 최상위 비트를 부호로 해석합니다. 산술 오른쪽 이동은 이 부호를 확장합니다.

계산이 완료되었습니다.

비트 연산 계산기는 여러 권한이나 상태를 한 정수로 저장한 값을 확인할 때 유용합니다. A에 현재 값, B에 비트마스크를 넣고 AND를 선택하면 관심 있는 위치 중 어떤 비트가 켜져 있는지 알 수 있습니다.

부호가 있는 값의 음수 표시는 저장된 비트와 구분해야 합니다. 같은 8비트 패턴도 부호 해석에 따라 255 또는 −1이 될 수 있어, 두 십진수 값을 함께 보여 줍니다.

비트 연산 계산기로 확인할 내용

공통으로 켜진 비트 찾기

비트 연산 계산기의 시작 예시는 12 AND 10 = 8입니다. 두 입력에서 공통으로 켜진 위치는 비트 3뿐입니다. 체크박스를 바꾸고 결과의 위치 목록과 개수를 보면 어떤 플래그가 남았는지 확인할 수 있습니다.

여덟 칸으로 된 입력 두 줄에서 공통으로 켜진 칸만 결과 줄에 남는 그림.

두 오른쪽 시프트 비교

8비트 부호 모드에서 A=240을 두 칸 오른쪽으로 옮기면 논리 시프트는 60, 산술 시프트는 −4가 됩니다. 상위 자리를 0으로 채울지 부호 비트로 채울지 연산 이름에서 바로 선택합니다.

최상위 칸이 켜진 한 패턴을 오른쪽으로 옮겨 빈칸을 넣는 경우와 켜진 칸을 넣는 경우를 나란히 비교한 그림.

해석 조건부터 맞추기

01

진수 변경의 의미 확인

초기값은 10진수, 8비트, 부호 없음, A=12, B=10, AND입니다. 진수를 바꾸면 기존 문자열을 새 진수로 읽으며 문자열 자체를 변환하지 않습니다. 0xFF를 쓰려면 먼저 16진수를 선택하세요.

02

번호로 비트 찾기

최하위가 비트 0이며 높은 번호부터 낮은 번호로 표시합니다. 좁은 화면에서는 여러 줄로 나뉩니다. NOT와 시프트에서는 B를 숨기고 검사하지 않으며, 이동량은 별도 필드에 십진수로 입력합니다.

03

갱신과 입력 교체 구분

자동 계산은 마지막 수정 350ms 뒤에 실행됩니다. 끄면 계산 버튼 또는 Ctrl/Cmd + Enter를 사용할 수 있습니다. 예시·비우기·서로 바꾸기는 변경 내용을 먼저 보여 주고, 실행 취소로 입력과 결과를 함께 복원합니다.

플래그와 정수를 함께 살펴보기

비트 연산 시뮬레이터로 플래그 조작

AND는 마스크에 포함된 비트만 남기고, OR은 켜며, XOR은 반전합니다. A=5, B=3일 때 각각 1, 7, 6입니다. NOT는 현재 폭 안의 A를 모두 반전하므로 B의 이전 입력과 관계가 없습니다.

64비트도 끝자리까지 보존

부호 없는 64비트 최댓값 18446744073709551615를 정확히 처리합니다. 2진수는 비트 폭까지, 16진수는 해당 자릿수까지 0을 채웁니다. 8진수와 부호 있는·없는 10진수도 같은 결과 옆에 표시합니다.

이동 뒤 남은 위치 해석

왼쪽 시프트, 논리 오른쪽 시프트, 산술 오른쪽 시프트를 구분합니다. 결과의 켜진 비트 번호와 개수는 이동을 마친 고정 폭 패턴에서 구하며, 이동량을 32로 나눈 나머지로 바꾸지 않습니다.

입력 범위와 시프트 규칙

범위를 벗어난 입력 거부
음수가 아닌 원시 패턴은 0부터 2^w−1까지 허용합니다. 음수는 부호 모드가 필요하고 −2^(w−1) 이상이어야 합니다. 범위를 넘으면 조용히 잘라내지 않고 오류를 표시하므로 폭이나 입력값을 바꾸세요.
폭 밖으로 나간 비트는 버림
이동량은 0부터 현재 폭까지의 십진 정수입니다. 폭만큼 왼쪽 또는 논리 오른쪽으로 이동하면 0이 됩니다. 산술 오른쪽 이동은 기존 부호에 따라 전부 0 또는 전부 1이 되며, 회전처럼 되돌아오지 않습니다.
한 줄 정수만 입력
각 입력은 256자까지입니다. ASCII 숫자, 선택적 부호, 진수와 일치하는 0b·0o·0x를 허용합니다. 양끝 공백과 탭만 제거하며 내부 구분자, 줄바꿈, 소수, 십진 지수 표기는 받지 않습니다.
부호 해석과 원문 유지
부호 모드는 10진수 해석을 바꿉니다. 산술 오른쪽 시프트는 부호 모드에서만 가능하며 끄면 논리 오른쪽 시프트로 바뀝니다. 원문 −1을 넓히면 −1이지만, 원문 255를 16비트로 넓히면 양수 255가 됩니다.
포함하지 않는 기능
8·16·32·64비트만 지원하며 무제한 폭, 회전, NAND/NOR/XNOR, 수식, 부동소수점은 계산하지 않습니다. 이름 붙은 플래그 정의, 파일, URL 가져오기와 영구 기록 저장도 제공하지 않습니다.

비트 연산 계산기 질문

NOT 결과가 음수로 나오는 이유는 무엇인가요?

선택한 폭의 비트를 뒤집은 뒤 최상위 비트가 1이면 부호 있는 해석에서 음수입니다. 8비트 NOT 0은 11111111로, 부호 없음은 255이고 부호 있음은 −1입니다. 비트 연산 계산기는 두 값을 함께 보여 줍니다.

<<와 >>는 각각 무슨 연산인가요?

일반적으로 왼쪽과 오른쪽으로 비트를 옮기는 기호입니다. 이 도구는 기호만으로 의미를 추측하지 않도록 왼쪽, 논리 오른쪽, 산술 오른쪽을 이름으로 구분합니다. 이동량은 B가 아닌 별도 입력에서 정합니다.

논리 시프트와 산술 시프트는 어떻게 다른가요?

오른쪽으로 이동할 때 논리 방식은 상위를 0으로 채우고, 산술 방식은 기존 부호 비트를 복제합니다. 11110000을 두 칸 옮기면 각각 00111100과 11111100입니다. 산술 방식은 부호 모드에서 선택합니다.

AND, OR, XOR은 각각 언제 사용하나요?

AND는 특정 플래그가 켜졌는지 추출할 때, OR은 다른 비트를 유지하며 플래그를 켤 때, XOR은 선택한 플래그를 토글할 때 사용합니다. 예를 들어 마스크가 1이면 최하위 비트만 대상으로 삼습니다.

비트 연산과 비트마스크는 같은 개념인가요?

비트 연산은 값을 결합하거나 뒤집는 계산이고, 비트마스크는 관심 있는 위치를 1로 표시한 값입니다. 마스크를 B에 넣고 A AND B를 계산하면 선택한 위치 중 실제 켜진 비트가 결과에 남습니다.

결과가 예상과 다른가요?

비트 연산 계산기 사용하기

비트 연산 계산기로 마스크를 확인한 다음 비트 하나를 바꾸어 차이를 살펴보세요. 현재 입력의 계산이 끝나면 설정을 포함한 보고서를 복사하거나 저장할 수 있습니다.