컴퓨터가 산술 연산을 더 쉽고 효율적으로 수행할 수 있도록 숫자를 저장하는 방법을 초과 K 표현(Excess-K Representation)이라고 부릅니다. 여기서 K는 계수(modulus)를 의미하며, 실제 값에 K를 더해(바이어스를 적용해) 저장함으로써 부호 없는 수처럼 다룰 수 있게 해주는 표현 방식입니다.
초과 K 표현의 일반 공식
기수(base)가 K인 임의의 자릿수 집합은 다음과 같은 초과 K 표기법으로 나타낼 수 있습니다.
$$D = d_n(K^n) + d_{n-1}(K^{n-1}) + \cdots + d_1(K^1) + d_0(K^0) - K$$
각 기호의 의미
- K: 기수(radix), 즉 진법의 밑(base)
- n: 자릿수의 개수
- dn, ..., d0: {0, 1, 2, ..., K-1} 집합에 속하는 각 자릿수
K = 10일 때: 십진 초과 표기법
특히 K = 10인 경우의 초과 K 표현은 십진 초과 표기법(decimal excess notation) 또는 스티비츠 표기법(Stibitz notation)이라고 불립니다. 이 이름은 초기 전자 컴퓨터 설계에 크게 기여한 벨 연구소의 조지 스티비츠(George Stibitz)에서 유래한 것으로, 그의 계산기 설계에서 이러한 바이어스 표현 방식이 활용되었습니다.
초과 K 표현은 오늘날에도 부동소수점 방식에서 지수(exponent) 값을 저장할 때 널리 사용되는 등, 컴퓨터가 덧셈·뺄셈 같은 연산을 단순화하고 비교 연산을 쉽게 처리하도록 돕는 중요한 개념입니다.