TIL_231124

Z_제트·2023년 11월 24일
0

TODAY I LEARNED

목록 보기
20/88
post-thumbnail

to do_오늘 할 일

  • 알고리즘 문제풀기
  • 새로운 조 적응
  • unity 게임 개발 입문 강의 시작

retro_오늘 한 일(회고)

about 알고리즘 문제 약수의 합

public class Solution
{
    public int solution(int n)
    {
        int answer = 0;
        
        for (int i = 1; i <= n; i++)
        {
            if (n % i == 0)
            {
                answer = i + answer;
            }
        }
        return answer;
    }
}


오늘 문제를 풀면서 갑자기
숫자를 0 으로 나누면 어떠한 결과가 나오는건지 헷갈리기 시작하면서 멘붕이 왔다.

일단 정리를 하면,
일반적으로 숫자 0 으로 나누는 것은 불가능하다.

[참고사이트] 0으로는 왜 나눌 수 없을까?

VS 에서 0으로 나누려고 시도하니 "예외가 처리되지 않음" 표시가 떴다.
System.DivideByZeroException: 'Attempted to divide by zero.'

System.DivideByZeroException: 'Attempted to divide by zero.'
문구에 대해서 구글링해보니

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

정수 또는 Decimal 숫자를 0으로 나누려고 하면 예외가 DivideByZeroException 발생합니다.

부동 소수점 값을 0으로 나누면 예외가 발생하지 않습니다.
[참고사이트] microsoft 공식문서

float 와 double 을 0 으로 나눠보니
예외를 throw 하지 않고 Infinity 라는 결과물을 보여주었다.

오호 ..
그럼 decimal 과 float, double 의 차이는 무엇인가 부터 시작해서
궁금증의 연속이 시작되었고
더 어려워진 느낌이지만


일단 확실히 기억해야 할 것 :
VS C# 에서 정수나 Decimal 값을 0으로 나누려 할 때 예외가 throw 된다 !


이번 주차부터 C# 콘솔창과는 작별인사 ~!
unity 로 작업 시작한다 !!

profile
trying to make the world a better place with a cool head and warm heart

0개의 댓글