도저히 이해가...ㅠ

201 %100 = 1 이 맞죠. 

 

그런데... 왜 (2.01*100) %100 = 0으로 나올까요? -_-;;;; 

|

댓글 6개

0.01 * 100 % 100 = 1
1.01 * 100 % 100 = 1
2.01 * 100 % 100 = 0
3.01 * 100 % 100 = 1
4.01 * 100 % 100 = 1
5.01 * 100 % 100 = 1
6.01 * 100 % 100 = 1
7.01 * 100 % 100 = 1
8.01 * 100 % 100 = 1
9.01 * 100 % 100 = 1
10.01 * 100 % 100 = 1
11.01 * 100 % 100 = 1
12.01 * 100 % 100 = 1
13.01 * 100 % 100 = 1
네 원래 소수점 계산은 그렇습니다......
제대로 나오지 않습니다.
제가 알기로는 내부적으로 이진 계산을 하기 때문일걸로 알고 있습니다.

http://php.net/manual/en/book.bc.php

여기에 있는 함수들로 계산해야 제대로 나옵니다.

bcmod(bcmul('2.01', '100'), '100');
답변 감사합니다.
여태 몰랐던거네요. -_-;;
자바스크립트도 동일한 문제가 있습니다.
콘솔로 찍어보니 그렇더라구요. 그래서 더 당황했었습니다. 2.01의 저주인가 싶었네요.
뭔지 잘 모르겠지만 이런 이유로 수학 전문 언어인 포트란 같은 게 있었나 봅니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기
🐛 버그신고