У меня есть проблема, которая раздражает меня:
Когда я беру калькулятор Windows 7 в стандартном режиме, если я делаю
4
, затем √
(квадратный корень), результат 2
Хорошо.
Но на этом этапе, если я сделаю
-
(минус), затем 2
, результат -1,068281969439142e-19
вместо 0
!
Хорошо, я знаю о ϵ
(машина эпсилон), и да, -1,068281969439142e-19
меньше , чем 64 бита ϵ
1.11e-16
так что , мы имеем арифметическую опустошение, другими словами , в этом случае: 0
,
Отлично, мой компьютер может представлять субнормальные числа вместо того, чтобы просто сбрасывать в ноль, когда это происходит, и кажется, что это улучшение !
Субнормальные значения заполняют зазор недостаточного расхода значениями, в которых абсолютное расстояние между ними такое же, как и для смежных значений, находящихся за пределами зазора недостаточного расхода. Это улучшение по сравнению со старой практикой, когда в промежутке недостаточного расхода просто есть ноль, а результаты недостаточного расхода заменены на ноль (сбрасывание в ноль).
НО:
- этот результат неверен!
- когда вы пытаетесь объяснить концепцию квадратного корня ребенку и в результате получаете такой результат, это только усложняет вашу задачу ...
- какой смысл представлять субнормальные числа в стандартном, не научном калькуляторе?
Итак, есть ли способ это исправить?