숫자 세기 (Binary Counter)
버튼을 눌러 10진수 숫자가 2진수로 차오르는 원리를 확인하세요.
0
1의 보수 (One's Complement)
비트를 뒤집으면(반전) 1의 보수가 됩니다.
원래 값과 1의 보수를 비트별 OR 하면 모든 비트가 1이 됩니다. 현대 컴퓨터의 일반적인 signed 정수 음수 표현은 여기에 1을 더한 2의 보수입니다.
뺄셈의 과정 (Step-by-Step)
A - B는 8비트에서 A + (-B)로 계산합니다. -B는 B를 반전한 뒤 1을 더한 2의 보수입니다.
같은 8비트 결과도 unsigned와 signed 해석의 십진수 값은 다를 수 있습니다.
-
STEP 1: B를 음수(-B)로 변환
↓ 반전 (1의 보수)
↓ +1
+
=
비트 이동 vs 산술 연산
시프트(주황색)는 비트를 이동하며, 8비트 범위를 벗어난 비트는 버려집니다.
일반 곱셈(청록색)은 비트 패턴이 완전히 바뀝니다.
입력값:
Current: 5
- <<, >> (Shift): 비트 이동, 마스크, 플래그, 데이터 패킹 등에 사용합니다. 음이 아닌 정수에서는 한 칸 이동이 ×2 또는 몫 기준 ÷2처럼 보이지만, 오버플로와 signed 음수에서는 단순 산술과 결과가 다를 수 있습니다.
- x3, ÷3 (Math): 비트가 이동하는 것이 아니라 값이 재계산됨. (패턴 변화 관찰)
비트 논리 연산 (AND, OR, XOR, NOT)
각 비트 자리마다 논리 연산을 수행합니다.
보라색은 연산 결과를 의미합니다.
12 & 10 = 8