1. 개요
clock arithmetic · 時 計 算 術, 時 計 代 數 學정수[1]의 집합이 유한하다고 간주하는 산술. ' 시계 대수학'이라고도 한다. 대개 '[math(n)]시(時) 산술', '[math(n)]시 대수학', '[math(n)]진 정수' 등으로 불린다. 기호로는 [math(({\mathbb Z}_{n},\,+,\,\cdot))][2]으로 표기한다.
예를 들어 시계에서 12시에서 1시간이 경과하면 13시가 아니라 1시가 된다. 이를 수식으로 표현하면 [math(12 + 1 = 1)]이 되는데 좀더 수학적으로 표현하면 mod 연산을 써서 [math(12 + 1\equiv 1\left(\text{mod}\,12\right))]로 표기할 수 있다. 다만, 실제로 수학에서 다룰 경우는 1 ~ n 까지가 아니라 0 ~ n-1 까지를 범위로 한다. 덧셈의 항등원인 0이 있는 게 여러모로 편하기 때문.
2. 상세
예를 들어 '5시 대수학'에서는 정수가 0, 1, 2, 3, 4밖에 없고, 이 다섯 개의 수가 반복된다. 즉 4 다음에는 0이 오는 식. 따라서 이런 체계에서는[math(k)]는 [math(0)] 이상의 정수 | |||||
[math(5k)] | [math(5k+1)] | [math(5k+2)] | [math(5k+3)] | [math(5k+4)] | |
5시 대수학 | [math(0)] | [math(1)] | [math(2)] | [math(3)] | [math(4)] |
따라서, 5시 대수학에서는 2+4=1, 4×4=1 이런 식으로 된다.
이는 나머지와도 연관이 있다. 한마디로 어떤 수를 5로 나누었을 때 나머지가 다름 아닌 '5시 대수학'에서의 값이 된다.
시계 산술이 적용되는 정수 체를 유한체라고 한다. 위의 5시 대수학에서는 [math((a+b)^5 = a^5+b^5)]이 성립하는 말도 안되는 결과를 낼 수 있다.[3] 나눗셈 또한 이질적인데 확장된 유클리드 호제법을 이용한다.
합동식, 순환군과도 관련이 있다.
3. 기타
일반각도 같은 맥락이라고 볼 수 있다. 한 바퀴를 돌 때마다 각이 반복되기 때문.[4]컴퓨터에서는 오버플로를 통해 자주 접할 수 있다. 가령 32비트 정수형인 경우 [math(2^{31} - 1)] 다음의 수가 [math(-2^{31})]이 나오는 식.[5]
[1]
다른
수 체계를 이용해서도 만들 수 있으나, 시계 산술이 수학적으로 가치 있는 것은 정수이므로 보통 정수로 생각한다.
[2]
정수에서 n개의 수를 순서를 주어 뽑고,
덧셈과
곱셈을 준다는 의미.
[3]
[math(p in {mathbb P})]인 [math(p)]시 대수학에서 모두 성립하는 성질이다. 저 [math(p)]를 해당 체의 표수(characteristic)라고 한다.
[4]
사실 이 설명은
앞뒤가 바뀌었다고 볼 수 있는데, 일반각의
[math({rm mod},2pi)]를
지구의 자전주기의 절반에 대응시켜 만든 것이 시계이기 때문이다.
[5]
unsigned는 [math(2^{32} - 1)] 다음이 [math(0)]