오

도저히 이해가...ㅠ

· 2015-11-17 (화) 18:58:01 · 1820 · 6

201 %100 = 1 이 맞죠. 

 

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

|

댓글 6개

2015-11-17 (화) 19:18:06
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');
2015-11-17 (화) 19:40:55
답변 감사합니다.
여태 몰랐던거네요. -_-;;
자바스크립트도 동일한 문제가 있습니다.
2015-11-17 (화) 19:44:20
콘솔로 찍어보니 그렇더라구요. 그래서 더 당황했었습니다. 2.01의 저주인가 싶었네요.
뭔지 잘 모르겠지만 이런 이유로 수학 전문 언어인 포트란 같은 게 있었나 봅니다.
댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

203,073건
+
제목 글쓴이 날짜 조회
15-11-17 조회 1,465
15-11-17 조회 1,394
15-11-17 조회 1,366
15-11-17 조회 1,806
15-11-17 조회 1,821
15-11-17 조회 2,000
15-11-17 조회 1,034
15-11-17 조회 1,641
15-11-17 조회 1,578
15-11-17 조회 1,988
15-11-17 조회 1,420
15-11-17 조회 1,363
15-11-17 조회 3,141
15-11-17 조회 1,537
15-11-17 조회 1,975
15-11-17 조회 1,658
15-11-17 조회 1,416
15-11-17 조회 1,259
15-11-17 조회 1,320
15-11-17 조회 1,483