Вопрос в паскале когда складываешь вещественные числа то на конце всегда получается 00000000001 и как решит

Регистрация
29 Окт 2013
Сообщения
93
Репутация
0
Спасибо
0
Монет
0
можно как то математически плиз помогите а (нужно именно математически)
 
Это не в Pascal, а в ЛЮБЫХ компьютерных вычислениях с вещественными числами. И вызвано это тем, что десятичное 0.1 является бесконечной двоичной дробью - при преобразовании десятичного вещественного числа в двоичное возникает погрешность.
 
Во многих (или всех) ЯП вещественное число, представляется в форме с плавающей точкой, из-за этого возникает такое
 
А зачем это "решать"? На точность решения сия особенность не влияет Вывод же можно форматировать как угодно write (r:5.2);
 
Такими и подобными вопросами занимается вычислительная математика - какая будет погрешность из-за переводов десятичная<>двоичная системы и как ее минимизировать. Дробные числа в компьютерах часто представляются приближенно, хочешь получить все верные цифры - округляй. В частности, калькуляторы считают обычно тоже с 3-4 запасными цифрами и при выводе на экран округляют. Программист должен знать, в числе прочих видов математики, вычислительную математику. Например, даже решение квадратного уравнения квалифицированно проводится не по школьным формулам, а по формулам, минимизирующим возможную погрешность вычислений.
 
Re: в паскале когда складываешь вещественные числа то на конце всегда получается 0000

Полностью поддерживаю последнего афффтора
 
Назад
Сверху