0으로 나누기: 두 판 사이의 차이

 
(사용자 14명의 중간 판 38개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{{학술 관련 정보}}
{{다른뜻|영으로 나누기 (매직 더 개더링)}}
'''0으로 나누기'''(divide by 0)는 [[산술]]에서 정의하지 않는 것들 중 하나이다. 어떤 수를 0으로 나눌 경우 일반적인 [[수체계]]에는 모순이 생긴다.


<s>[[이건 미친 짓이야 나는 여기서 나가겠어]]</s>
== 정의되지 않은 이유 ==
수학에서 0으로 나누기는 정의되어 있지 않다. 이는 [[곱셈]] 연산의 결과를 [[유일성|유일]]하게 하기 위해서이다.


초등학생 수준으로 예를 들면, 10개의 과자가 있고 그걸 사람들에게 나눠준다고 해보자. 만일 한 사람에게 2개씩 나눠준다면(÷2) 결과적으로 5명에게 나눠줄 수 있다. 그런데 오는 사람마다 과자를 하나도 주지 않는다(÷0)고 한다면, 제 아무리 사람이 몇 명 오던간, 과자가 줄어들리가 없으므로, 끝이 나오지 않게 된다.


'''0으로 나누기'''(divide by 0)는 [[산술]][[산술에서 정의하지 않는 것들|에서 정의하지 않는 것들]] 중 하나이다. 어떤 수를 0으로 나눌 경우 일반적인 [[수체계]]에는 모순이 생긴다.
같은 예시로 일반적인 나눗셈 정리를 하면, 10에는 2가 5개 있으므로 10÷2=5이다. 하지만 같은 방법으로 10÷0을 계산하려 하면, 0은 값이 없기 때문에 계산하지 못한다.


== 0으로 나누기가 <s>[[아사히나 미쿠루|금칙사항☆]]</s>정의되지 않은 이유 ==
좀 더 일반적인 경우를 살펴보자. a를 b로 나눈 결과가 c라는 것은 a=b×c와 같다. 여기서 b가 0이라면 우변은 0이되고, 따라서 a 역시 0일 수밖에 없다. 그런데 이는 c의 값을 유일하게 정하지 않으므로 문제가 된다.
== 극한 ==
흔히 말하는 <math>\frac 1 0 = \infty</math>에서 0은 <math>\lim_{x \to \infty} \frac{1}{x}</math>이므로, 정확히 0이지만, 사실 극한 형태이며, <math>\lim_{x \to \infty} \frac{1}{\frac{1}{x}} = \infty</math>를 나타낸다. 만약 <math>\frac 1 0 = \infty</math>로 정의하면 <math>\infty = \frac 1 0 = \frac 1{-0} = -\infty</math>라는 이상한 결과가 나오게 된다. 일반적인 [[실수]] 체계에서는 말도 안 되는 소리지만, 이를 참으로 여겨 수직선(<math>\mathbb R \cup \{\infty \} </math>)을 원으로, 복소평면(<math>\mathbb C \cup \{\infty \} </math>)을 구면으로 만들 수도 있다. 이를 각각 [[실사영직선]], [[리만 구]]라고 한다. [http://mathlove.kr/shop/board/view.php?id=mathsyj&tm=2&menus=story1&page=2&no=7 참고] 물론 저 체계에서 <math>\infty = -\infty</math>이라고 해서 <math>2\infty =0, \infty = 0</math>이라는 소리는 하지 않는 게 좋다. 이항이 성립하지 않을 뿐만 아니라 일반적인 수체계에서는 성립하지 않는 [[정의]]이기 때문이다.


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


수학에서 0으로 나누기는 정의되어 있지 않으며, 이는 [[곱셈]] 연산의 결과를 [[유일성|유일]]하게 하기 위해서이다. <math>a</math>를 <math>b</math>로 나눈 결과가 <math>c</math>라는 것은 <math>a=bc</math>와 완전히 같으며, 여기서 <math>b</math>가 0이라면 <math>a</math> 역시 0일 수밖에 없다. 즉 이는 <math>c</math>에 대한 부정형이 되어 결과가 유일하지 않다.
대수학에서 0이란, 덧셈에 대한 항등원을 뜻한다. 즉, <math>a+e=e+a=a</math>가 성립하게 만드는 원소 <math>e</math>를 0으로 정의하는 것.


흔히 말하는 <math>\frac 1 0 = \infty</math>는 사실 극한 형태이며, <math>\lim_{n \to 0} \frac{1}{n} = \infty</math>를 나타낸다. 만약 <math>\frac 1 0 = \infty</math>라 하면 <math>\infty = \frac 1 0 = \frac 1{-0} = -\infty</math>라는 [[ㅁㄴㅇㄹ]]한 결과가 나오게 된다. 그런데 이를 참으로 여겨 <s>???</s> 수직선(<math>\mathbb R \cup \{\infty \} </math>)을 원으로, 복소평면(<math>\mathbb C \cup \{\infty \} </math>)을 구면으로 만들 수도 있다. 이를 [[리만 구]]라고 한다. [http://mathlove.kr/shop/board/view.php?id=mathsyj&tm=2&menus=story1&page=2&no=7 참고바람]
나눗셈이란, 어떤 수의 [[곱셈]]의 [[역원]]을 곱하는 행위를 뜻한다. 초등학교에서 말하는 "전체안에 부분이 몇 개"는 사실 정확한 비유가 아니며, 이해를 돕기위해 만든 설명일 뿐. 즉, <math>a\div b</math>는 사실 <math>a\times b^{-1}</math>을 뜻하며, <math>b^{-1}</math><math>b</math>의 곱셈에 대한 역원을 뜻한다.


<math>\infty = -\infty</math>이라 해서 <math>2\infty =0, \infty = 0</math>이라는 [[evergreenc]] 같은 소리는 하지 않는 게 좋다. 이항이 성립하지 않을 뿐만 아니라 저건 저 체계에서만 성립하게 한 [[정의]]이기 때문이다.
한편, 어떤 수에 곱셈에 대한 역원을 곱하면 역원의 정의에 의해 곱셈에 대한 항등원이 나온다. [[환 (수학)|환]]에서 곱셈에 대한 항등원은 보통 1로 정의하므로, <math>a\times a^{-1}=1</math>이 성립한다. 여기까지 알았으면 0으로 나누기, 즉 0의 곱셈에 대한 역원이 존재한다고 가정해보자. 그럼, 역원의 정의에 의해,
:<math>0\times0^{-1}=1</math>
가 성립한다. 한편, 임의의 수에 덧셈에 대한 항등원(= 0)을 곱하면 0이 나오므로,
:<math>0\times0^{-1}=0</math>
따라서, '''0=1'''이 성립한다. 이제, 환의 임의의 원소 <math>a</math>에 대해,
:<math>a=a\times1=a\times0=0</math>
이므로, 이 환에는 원소가 0밖에 없다.
 
따라서, 0으로 나누기를 허용하면 수가 0 단 하나뿐인 상황이 벌어지게 된다. 이러한 수체계를 영환(zero-ring)이라 부르며, 당연히 수학적으로 큰 의미가 없다. 이런 재미없는 상황을 방지하기 위해서 [[체 (수학)|체]]는 <math>0\neq1</math>를 가정하며, 이 조건은 0의 곱셈에 대한 역원이 존재하지 않음을 내포한다.


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


== 같이 보기 ==
== 같이 보기 ==
* [[0^0|0<sup>0</sup>]]
* [[0^0|0<sup>0</sup>]]
* [[테드 창]]의 [[0으로 나누면]]
* [[0.999...=1]]


==바깥 링크==
==외부 링크==
*[http://navercast.naver.com/contents.nhn?rid=22&contents_id=184 네이버캐스트 1÷0은?]
*[http://navercast.naver.com/contents.nhn?rid=22&contents_id=184 네이버캐스트 1÷0은?]


[[분류:산술]]
[[분류:산술]]

2024년 4월 18일 (목) 16:38 기준 최신판

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

정의되지 않은 이유[편집 | 원본 편집]

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

초등학생 수준으로 예를 들면, 10개의 과자가 있고 그걸 사람들에게 나눠준다고 해보자. 만일 한 사람에게 2개씩 나눠준다면(÷2) 결과적으로 5명에게 나눠줄 수 있다. 그런데 오는 사람마다 과자를 하나도 주지 않는다(÷0)고 한다면, 제 아무리 사람이 몇 명 오던간, 과자가 줄어들리가 없으므로, 끝이 나오지 않게 된다.

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

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

극한[편집 | 원본 편집]

흔히 말하는 [math]\displaystyle{ \frac 1 0 = \infty }[/math]에서 0은 [math]\displaystyle{ \lim_{x \to \infty} \frac{1}{x} }[/math]이므로, 정확히 0이지만, 사실 극한 형태이며, [math]\displaystyle{ \lim_{x \to \infty} \frac{1}{\frac{1}{x}} = \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]이라는 소리는 하지 않는 게 좋다. 이항이 성립하지 않을 뿐만 아니라 일반적인 수체계에서는 성립하지 않는 정의이기 때문이다.

허용하게 되면?[편집 | 원본 편집]

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

대수학에서 0이란, 덧셈에 대한 항등원을 뜻한다. 즉, [math]\displaystyle{ a+e=e+a=a }[/math]가 성립하게 만드는 원소 [math]\displaystyle{ e }[/math]를 0으로 정의하는 것.

나눗셈이란, 어떤 수의 곱셈역원을 곱하는 행위를 뜻한다. 초등학교에서 말하는 "전체안에 부분이 몇 개"는 사실 정확한 비유가 아니며, 이해를 돕기위해 만든 설명일 뿐. 즉, [math]\displaystyle{ a\div b }[/math]는 사실 [math]\displaystyle{ a\times b^{-1} }[/math]을 뜻하며, [math]\displaystyle{ b^{-1} }[/math][math]\displaystyle{ b }[/math]의 곱셈에 대한 역원을 뜻한다.

한편, 어떤 수에 곱셈에 대한 역원을 곱하면 역원의 정의에 의해 곱셈에 대한 항등원이 나온다. 에서 곱셈에 대한 항등원은 보통 1로 정의하므로, [math]\displaystyle{ a\times a^{-1}=1 }[/math]이 성립한다. 여기까지 알았으면 0으로 나누기, 즉 0의 곱셈에 대한 역원이 존재한다고 가정해보자. 그럼, 역원의 정의에 의해,

[math]\displaystyle{ 0\times0^{-1}=1 }[/math]

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

[math]\displaystyle{ 0\times0^{-1}=0 }[/math]

따라서, 0=1이 성립한다. 이제, 환의 임의의 원소 [math]\displaystyle{ a }[/math]에 대해,

[math]\displaystyle{ a=a\times1=a\times0=0 }[/math]

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

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

프로그래밍 언어의 처리[편집 | 원본 편집]


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

같이 보기[편집 | 원본 편집]

외부 링크[편집 | 원본 편집]