Предмет: Информатика,
автор: 6603673
Можно ли утверждать,что в Паскале значение выражения (1/3)*3-1 равно нулю?
Ответы
Автор ответа:
0
нет, нельзя. Результат деления 1/3 является бесконечной дробью, точно не представимой в компьютере, т.е. это будет значение, эквивалентное десятичному значению 0.33...3 с тем или иным количеством разрядов.
После умножения на 3 мы получаем 0.99...9 и вычитание 1 совсем не обязательно даст "чистый ноль".
Т.е. в каких-то случаях результат будет равен нулю, в каких-то - нет. Все зависит от реализации в конкретной системе.
После умножения на 3 мы получаем 0.99...9 и вычитание 1 совсем не обязательно даст "чистый ноль".
Т.е. в каких-то случаях результат будет равен нулю, в каких-то - нет. Все зависит от реализации в конкретной системе.
Автор ответа:
0
нельзя, т.к. деление происходит с погрешностью. вот результат выполнения данной операции:
(1/3)*3-1 = 0.0000000000000000E+000
но, не смотря на то, что в результате одни нули, в любом случае есть 1, которая не поместилась в ограниченную 4мя байтами точность, которой представляется любое вещественное число на компьютере
(1/3)*3-1 = 0.0000000000000000E+000
но, не смотря на то, что в результате одни нули, в любом случае есть 1, которая не поместилась в ограниченную 4мя байтами точность, которой представляется любое вещественное число на компьютере
Похожие вопросы
Предмет: Литература,
автор: rahimamabej
Предмет: Информатика,
автор: 89652397598d
Предмет: Обществознание,
автор: gorkovskayalena
Предмет: Математика,
автор: МудрыйКролик