Арифметическая точность с двойными числами в Matlab
У меня возникли проблемы с пониманием того, как точность этих двойников влияет на результат арифметических операций в Matlab. Я думал, что, поскольку оба a & b являются двойными, они смогут выполнять операции с такой точностью. Я понимаю, что может быть ошибка округления, но так как эти числа находятся в пределах представления 64-битных чисел, я не думал, что это будет проблемой.
a = 1.22e-45
b = 1
a == 0
ans = 0 %a is not equal to zero
(a + b) == 1
ans = 1
Получается, что он может иметь достаточную точность, чтобы распознать! = 0, но при добавлении к 1 он не показывает никаких изменений.