I noticed a difference with round() at 15 decimal places, and I need to know why this is so.
조회 수: 5 (최근 30일)
이전 댓글 표시
Yesterday, I noticed that
round(2.4999999999999999) %15 decimal places
ans =
3
But
round(2.499999999999999) %16 decimal places
ans =
2
This can be for any number, not just 2. Does anybody know what causes this?
댓글 수: 1
Jan
2016년 4월 16일
The first example has 16 digits and the 2nd one 15 digits, not the other way around.
채택된 답변
Mara Gati
2016년 4월 16일
댓글 수: 1
John D'Errico
2016년 4월 16일
It is not 15 decimal digits that matters, since doubles are not stored in decimal form. A double in MATLAB is actually stored in binary. So 52 binary bits represents something a little more accurate than 15 decimal digits.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!