왼쪽에 1이 있어도 더 작아요? 자리값이 음수인 숫자 읽기

길이가 고정된 −2진법의 0·1 표기에서 오른쪽 자리 번호를 0부터 세어요. 홀수 번호 자리의 0과 1만 뒤집어 보통 이진수로 읽으면 원래 값과의 차이가 일정해져요. 이 관계로 크기 순서와 가능한 범위, 각 값이 한 번만 나오는 이유를 확인해요.

목재 탁자에 한 줄로 놓인 무표기 검정·크림 토큰

이미지: AI 생성 · 수학 이야기

자리의 무게가 오른쪽부터 1, −2, 4, −8이라면 0100의 값은 4이고 1000은 −8입니다. 왼쪽에 1이 있다는 이유만으로 큰 수라고 읽을 수 없어요. 이 규칙으로 쓴 모든 표기를 값의 크기대로 정렬하려면 어떻게 해야 할까요?

자체 문항에서는 길이 m을 고정하고 앞의 0도 유지해요. 각 자리는 0 또는 1이며 오른쪽 자리 번호를 0부터 세어요. 정수 거듭제곱의 반복 곱셈으로 자리값을 정해요.

V=∑j=0m−1dj(−2)j,dj∈{0,1},(−2)0=1.V=\sum_{j=0}^{m-1}d_j(-2)^j,\qquad d_j\in\{0,1\},\quad(-2)^0=1.

홀수 번호 자리에서만 0과 1을 바꾼 새 표기를 만들어요. 이 표기를 보통 양의 이진 자리값으로 읽은 수를 U라 해 볼까요? 홀수 자리에서 U와 V의 차이는 원래 숫자와 관계없이 2^j입니다. 짝수 자리의 차이는 0입니다.

ej={djj 짝수,1−djj 홀수,U=∑j=0m−1ej2j,U=V+Km.\begin{gathered} e_j=\begin{cases}d_j&j\text{ 짝수},\\1-d_j&j\text{ 홀수},\end{cases}\\ U=\sum_{j=0}^{m-1}e_j2^j,\qquad U=V+K_m. \end{gathered}

여기서 K_m은 m보다 작은 홀수 번호 j의 2^j를 모두 더한 일정한 수예요. 모든 값에 같은 수를 더했으므로 U의 순서가 곧 V의 순서예요. m=4이면 K_m=10이고 0100은 1110으로, 1000은 0010으로 바뀌어요. U는 각각 14와 2이므로 원래 값 4와 −8의 순서도 바로 확인돼요.

이 반전은 되돌릴 수 있어요. 따라서 모든 표기는 0부터 2^m−1까지의 U와 일대일로 대응해요. V의 값 전체는 −K_m부터 2^m−1−K_m까지 모든 정수이며 각 값은 한 번만 나타나요.

교사는 한 숫자의 변환에서 끝내지 않고, 일정한 차이가 전체 순서를 보존하는 이유까지 물어요. 이 방법은 길이를 고정한 비교예요. 길이가 다르면 K_m도 달라지므로 변환한 U만으로 바로 비교하지 않아요.

출처·착안: Exploding Dots 9.5 Going Really Wild. 원문의 관점을 참고해 질문·조건·논증을 새로 구성했다.

이 글 공유하기

개인정보 및 방문 통계 안내