자유게시판

calc_division0.png

계산기에서 어떤 수를 0으로 나누면 위와 같이 오류를 내뱉습니다.

프로그래밍에서도 마찬가지로 변수에 / 0을 하면 오류를 내뱉습니다.

왜 그럴까요?

나눗셈은 일반적으로 곱셈의 역연산으로 정의됩니다.

x × y = z이면 곧 x = z ÷ y입니다.

즉, 5 × 3 = 15이면 곧 5 = 15 ÷ 3이 되는 것입니다.

만약 여기서 y의 값이 0이 된다면, 즉, x × 0 = z, x = z ÷ 0이 된다면

어떤 수든 0을 곱하면 0이 되므로

앞의 x × 0 = z는 곧 x × 0 = 0이 됩니다.

여기서 x의 가능성은 무한히 많아져서 하나로 정의될 수가 없습니다.

그렇기 때문에 어떤 수를 0으로 나눈 값은 정의되지 않는 것입니다.

출처: 위키백과의 0으로 나누기 ([바로가기])


이쯤에서 각설하고 본론으로 들어가서

만약 알만툴에서 변수에다가 나누기 0을 하면 과연 어떻게 될까 실험을 해 보았습니다.


첫 번째 방법

변수의 조작에서 그냥 나누기 0 하기


rmvxa_div0_1.png

이렇게 그냥 단순하게 변수 / 0  이벤트를 짠 후 플레이 테스트를 돌려 보았습니다.


rmvxa_div0_2z.png

0으로 나누기를 할 변수를 사전에 조작하여 1로 만든 후


rmvxa_div0_3z.png

변수 / 0 이벤트를 실행해 보았습니다.

결과는...


rmvxa_div0_4z.png

튕기지 않고 그냥 넘어갔습니다.

단지 0으로 나누기를 돌린 변수가 0이 되었을 뿐입니다.

이렇게 나오는 게 어째 모순 같지만(실제로 y=1/x 함수의 그래프를 그려보면 x값이 0에 가까워질수록 y값은 무한대에 가까워집니다.)

어쨌든 오류로 튕기진 않은 게 다행(?)이네요.

알만툴에서 0으로 나누기를 할 경우 연산이 실행되지 않도록 설계한 모양입니다.


두 번째 방법

스크립트를 이용해서 나누기 0 하기


rmvxa_div0_5.png

변수의 조작이 아닌 스크립트로 나누기 0으로 해 보았습니다.

과연 이번엔 어떻게 될까요?


rmvxa_div0_6z.png

무서운 재앙을 예고하는 대사와 함께...


rmvxa_div0_7.png

이와 같이 0으로 나누었다는 오류를 내뱉으며 게임이 튕깁니다.


스크립트를 뜯어 본 결과 변수의 조작을 통해 오류를 일으킬 경우

문제의 변수 값을 0으로 맞춰놓고 계속 진행시키는 처리가 되어 있었습니다.

그래서 첫 번째 방법을 사용할 경우 튕기지 않고 게임이 진행되었습니다.

그러나 두 번째 방법은 이 처리를 우회하기 때문에 튕기게 되는 것입니다.


Comment '4'
  • ?
    맛난호빵 2014.08.31 21:33

    상수와 상수끼리 연산하지 않는 이상 나눗셈은 왠만하면

    try~catch문으로 잡아주는게 좋습니다요 :D

  • profile
    머그빵 2014.09.01 02:32

    무서운 재양을 예고하는대사와 함꼐 팅 ㅋㅋㅋㅋㅋㅋㅋㅋ 잌ㅋㅋㅋㅋ

  • profile
    비스뀌 2014.09.11 18:11

    흠...!  실수로  0으로 나누지 않게 조심해야겟네요.

  • profile
    Bunny_Boy 2014.09.11 18:54
    그냥 변수조작에서는 0으로 나눠도 안 튕깁니다.
    스크립트에서 0으로 나누면 튕기지만요.

  1. 아방스 게시물 · 댓글 작성 규칙 (최근 수정일 2015.11.25)

  2. [모집] 경기 콘텐츠코리아 랩에서 창작팀을 위한 사무공간을 제공해 드려요!

  3. 하룬의 모험이다욧!홍보영상

  4. 최신 OS로 알만툴 게임을 전체화면으로 실행했을 때 느려지는 문제 해결법

  5. 각종 슈팅 게임 기술 분석 후기

  6. 무료폰트.

  7. 이상하네요.

  8. 쯔꾸르 버전중에 가장 인기있는 버전이 무엇인가요?

  9. 방송 관련 프로그램

  10. 아즈리아 보유중이신 분 있나요

  11. 가입했습니다

  12. 알만툴에서 0으로 나누기를 실험해 보았습니다.

  13. 괴물학교 공지~

  14. 왜 아방스엔 '아노하나' 관련한 자료가 없을까요

  15. 저 제 31회 한국 정보 올림피아드 에서 금상 탔음

  16. 아방스에 없는 탈것 제작중인 사진

  17. Tales Of Stickmen 튜토리얼 테스트

  18. 생존신고

  19. 뭔가 매번 글을 쓸 때 마다 오랜만이 되네요

  20. 늦은 가입인사..;;;;

  21. 늦고 늦은 6차 패치.

목록
Board Pagination Prev 1 ... 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 ... 755 Next
/ 755