Ответы
Ответ дал:
1
Это не ошибка. В ячейке записано очень маленькое число (5*10⁻¹⁷). В данном случае можно считать, что это и есть 0. Причина в том, что действия с вещественными числами выполняются в компьютере не точно, а с какой-то погрешностью. Очень маленькие и очень большие числа обычно записываются в экспоненциальном (научном) формате, в котором английская E отделяет мантиссу и порядок. Т.е. 5,5E-17 это 5,5*10⁻¹⁷
Ответ дал:
1
Это действительно не ошибка. Вспоминайте представление чисел в двоичном коде. Величину шага 0.2, например, точно представить невозможно, она выглядит как 0,0011001100110011...
Поэтому в результате сложения таких "неточных" чисел приходится отбрасывать младшие разряды. Но если для чисел, далеко отстоящих на числовой оси от нуля, при отбрасывании остаются значащие цифры в старших разрядах (0.2 = 0.199... 999 и 0.2=0.200...001, то для величин, близких к нулю, остается только сама погрешность. Её мы и видим и именно её Вы назвали ошибкой.
Поэтому в результате сложения таких "неточных" чисел приходится отбрасывать младшие разряды. Но если для чисел, далеко отстоящих на числовой оси от нуля, при отбрасывании остаются значащие цифры в старших разрядах (0.2 = 0.199... 999 и 0.2=0.200...001, то для величин, близких к нулю, остается только сама погрешность. Её мы и видим и именно её Вы назвали ошибкой.
Вас заинтересует
5 месяцев назад
5 месяцев назад
1 год назад
1 год назад
7 лет назад