2022-09-24 22:49:44
Вещественные числа представляются в памяти компьютера не точно, а приближенно. Возникающая при этом погрешность называется
погрешностью округления.
Например, в результате выполнения кода
## Print(1/3);
выводится
0.333333333333333
Таким образом, погрешность - в 16-м знаке после точки.
При вычислениях погрешность накапливается. Она называется вычислительной погрешностью. И возникают интересные эффекты. Например, при выполнении
## Print(1 - 1/3 - 1/3 - 1/3);
выведется не 0 как можно было ожидать, а
1.11022302462516E-16
Это значит, что при вычислениях с вещественными результат может быть полностью неправильным. Например, после выполнения
##
var x := (1 - 1/3 - 1/3 - 1/3) * 1E16;
Print(x);
выведется не 0, а
1.11022302462516
При работе с вещественными необходимо учитывать эти эффекты.
269 views19:49