본문 바로가기

IT/학습

DividedByZero ? 흠..

처음에 DividedByZero란 것에 대해 조사하라 시길래 뭔가 했다. 

 

조금 찾아보니 C#에서 정수나 decimal 값0으로 나누면 DivideByZeroException이 발생 하는 것에 대해 알아보라 하신거였다.

 

예를 들어, 다음 코드는 예외를 발생시킵니다:

 
테스트 해본 코드

 

테스트 했더니 나온 콘솔창

 

 

이 예외를 방지하려면 나누기 연산을 수행하기 전에 분모가 0이 아닌지 확인해야 한다.

 

 반면, 부동 소수점 값을 0으로 나누면 예외가 발생하지 않고, IEEE 754 산술규칙에 따라 양의 무한대, 음의 무한대 또는 NaN(Not a Number) 값을 반환한다.

 

이렇게 나오는 이유는 아마 수학적으로도 분모가 0일수가 없어서 연산 자체가 안되는 에러가 뜬것같았다.

 

누군가 계산을 해 주신게 있어서 바로 긁어왔다!

 

 

이렇게 수학적 증명식을 가져와봤다.

 

어떤 수에 0을 곱하면 0이되기 때문에, 분모가 0이 아닐때는 곱셈을 해도 식이 성립하지만 분모가 0일 경우 역으로 곱셍을 했을때 모순이 생기기 때문에 분모에는 0이 올수 없는것 같았다.

 

 

고로 컴퓨터는 사실 고도의 계산기이기 때문에 수학적으로 안되는걸 할수가 없기 때문에 에러가 나고, 그걸 개발자들이 알아서 예외처리 해준거 같았다.

 

 

 

 

참조 : DivideByZeroException 클래스 (System) | Microsoft Learn

 

DivideByZeroException 클래스 (System)

정수나 Decimal 값을 0으로 나누려 할 때 throw되는 예외입니다.

learn.microsoft.com

 

 

참조 : 분모에는 0을 쓸 수 없다. : 네이버 블로그

 

분모에는 0을 쓸 수 없다.

문제 다음 글을 토대로 분모에 0이 올 수 없다는 것을 증명하여 봅시다.   일상적으로 숫자들이 의미...

blog.naver.com

 

참조 : 0을 곱하면 왜 0이 될까, 분모에 0이 올 수 없는 이유, 분배법칙이란, 등식의 성질이란 : 네이버 블로그

 

0을 곱하면 왜 0이 될까, 분모에 0이 올 수 없는 이유, 분배법칙이란, 등식의 성질이란

어떤 수에 0을 곱하면 0이 됩니다. 분모가 0이 아닐 때는 역으로 곱셈을 해도 식이 성립하지만 분모가 0일 ...

blog.naver.com

 

'IT > 학습' 카테고리의 다른 글

CLR(공용 언어 런타임)  (0) 2024.11.26
c++과 c#의 컴파일 과정 차이  (0) 2024.11.26
실수의 부정확함  (0) 2024.11.26
IDE(통합 개발 환경, Integrated Development Environment)  (1) 2024.11.22
폰 노이만 구조  (0) 2024.11.22