0으로 나누기

틀:학술 관련 정보

이건 미친 짓이야 나는 여기서 나가겠어


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

0으로 나누기가 금칙사항☆정의되지 않은 이유

수학에서 0으로 나누기는 정의되어 있지 않으며, 이는 곱셈 연산의 결과를 유일하게 하기 위해서이다. [math]\displaystyle{ a }[/math][math]\displaystyle{ b }[/math]로 나눈 결과가 [math]\displaystyle{ c }[/math]라는 것은 [math]\displaystyle{ a=bc }[/math]와 완전히 같으며, 여기서 [math]\displaystyle{ b }[/math]가 0이라면 [math]\displaystyle{ a }[/math] 역시 0일 수밖에 없다. 즉 이는 [math]\displaystyle{ c }[/math]에 대한 부정형이 되어 결과가 유일하지 않다.

흔히 말하는 [math]\displaystyle{ \frac 1 0 = \infty }[/math]는 사실 극한 형태이며, [math]\displaystyle{ \lim_{n \to 0} \frac{1}{n} = \infty }[/math]를 나타낸다. 만약 [math]\displaystyle{ \frac 1 0 = \infty }[/math]라 하면 [math]\displaystyle{ \infty = \frac 1 0 = \frac 1{-0} = -\infty }[/math]라는 ㅁㄴㅇㄹ한 결과가 나오게 된다. 그런데 이를 참으로 여겨 ??? 수직선([math]\displaystyle{ \mathbb R \cup \{\infty \} }[/math])을 원으로, 복소평면([math]\displaystyle{ \mathbb C \cup \{\infty \} }[/math])을 구면으로 만들 수도 있다. 이를 각각 실사영직선, 리만 구라고 한다. 참고바람

[math]\displaystyle{ \infty = -\infty }[/math]이라 해서 [math]\displaystyle{ 2\infty =0, \infty = 0 }[/math]이라는 evergreenc 같은 소리는 하지 않는 게 좋다. 이항이 성립하지 않을 뿐만 아니라 저건 저 체계에서만 성립하게 한 정의이기 때문이다.

프로그래밍 언어의 처리


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

같이 보기

바깥 링크