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!