0으로 나누기

최근 편집: 2022년 12월 24일 (토) 10:35

0으로 나누기(divide by 0)는 산술에서 정의하지 않는 것들 중 하나이다. 어떤 수를 0으로 나눌 경우 일반적인 수체계에는 모순이 생긴다.

정의되지 않은 이유

수학에서 0으로 나누기는 정의되어 있지 않다. 이는 곱셈 연산의 결과를 유일하게 하기 위해서이다.

하나 나눗셈의 예를 들면, 10에는 2가 5개 있으므로 10÷2=5이다. 하지만 같은 방법으로 10÷0을 계산하려 하면, 0은 값이 없기 때문에 계산하지 못한다.

좀 더 일반적인 경우를 살펴보자. a를 b로 나눈 결과가 c라는 것은 a=b×c와 같다. 여기서 b가 0이라면 우변은 0이되고, 따라서 a 역시 0일 수밖에 없다. 그런데 이는 c의 값을 유일하게 정하지 않으므로 문제가 된다.

흔히 말하는 는 사실 극한 형태이며, 를 나타낸다. 만약 로 정의하면 라는 이상한 결과가 나오게 된다. 일반적인 실수 체계에서는 말도 안 되는 소리지만, 이를 참으로 여겨 수직선()을 원으로, 복소평면()을 구면으로 만들 수도 있다. 이를 각각 실사영직선, 리만 구라고 한다. 참고 물론 저 체계에서 이라고 해서 이라는 소리는 하지 않는 게 좋다. 이항이 성립하지 않을 뿐만 아니라 일반적인 수체계에서는 성립하지 않는 정의이기 때문이다.

허용하게 되면?

0으로 나누는 연산이 수학에서 아예 존재하지 않는 것은 아니다. 0으로 나누기를 허용하기 전에, 0과 나눗셈에 대해 간단히 알고 가자.

대수학에서 0이란, 덧셈에 대한 항등원을 뜻한다. 즉, 가 성립하게 만드는 원소 를 0으로 정의하는 것.

나눗셈이란, 어떤 수의 곱셈역원을 곱하는 행위를 뜻한다. 초등학교에서 말하는 "전체안에 부분이 몇 개"는 사실 정확한 비유가 아니며, 이해를 돕기위해 만든 설명일 뿐. 즉, 는 사실 을 뜻하며, 의 곱셈에 대한 역원을 뜻한다.

한편, 어떤 수에 곱셈에 대한 역원을 곱하면 역원의 정의에 의해 곱셈에 대한 항등원이 나온다. 에서 곱셈에 대한 항등원은 보통 1로 정의하므로, 이 성립한다. 여기까지 알았으면 0으로 나누기, 즉 0의 곱셈에 대한 역원이 존재한다고 가정해보자. 그럼, 역원의 정의에 의해,

가 성립한다. 한편, 임의의 수에 덧셈에 대한 항등원(= 0)을 곱하면 0이 나오므로,

따라서, 0=1이 성립한다. 이제, 환의 임의의 원소 에 대해,

이므로, 이 환에는 원소가 0밖에 없다.

따라서, 0으로 나누기를 허용하면 수가 0 단 하나뿐인 상황이 벌어지게 된다. 이러한 수체계를 영환(zero-ring)이라 부르며, 당연히 수학적으로 큰 의미가 없다. 이런 재미없는 상황을 방지하기 위해서 를 가정하며, 이 조건은 0의 곱셈에 대한 역원이 존재하지 않음을 내포한다.

프로그래밍 언어의 처리

위에 있는 0으로 나눴더니 스파크가 튀면서 칩이 손상된다는 동영상은 재미를 위해 만든 것이다. 0으로 나눈다고 스파크 튀면서 불나진 않으니 안심. 대부분의 프로그래밍 언어에서는 0으로 나누면 Divide-by-Zero 오류를 내고, 예외 처리가 없으면 시스템이 정지된다. 하지만 지금 시대에 이런 기초적인 예외 처리를 하지 않는 경우는 없고, 시스템이 정지되는 일 역시 없다.

같이 보기

바깥 링크