LINUX.ORG.RU

Ответ на: комментарий от dikiy

Тогда зачем даётся относительная точность выполнения?

hope13 ★★★ ()
Ответ на: комментарий от hope13

Тогда зачем даётся относительная точность выполнения?

я не знаю, но 2.55 это абсолютно точный ответ на твой вопрос.

dikiy ★★☆☆☆ ()
Ответ на: комментарий от hope13

2.55+0*10^-16

и причем тут числяки? это не интеграл, не иррациональное уровнение, не дифура. просто выражение, которое вычисляется на просто калькуляторе

null123 ★★ ()
Ответ на: комментарий от null123

и причем тут числяки?

Предмет так называется :) Мне просто интересно зачем давалась относительная точность вычислений.

hope13 ★★★ ()
Ответ на: комментарий от hope13

Чтобы ты использовал число с плавающей запятой двойной точности? Ну или взял абсолютно точно определенное рациональное число.

aedeph_ ★★ ()
Ответ на: комментарий от hope13

Есть такое понятие, как стабильность операции. Но тут даже ее некуда всунуть, согласно условию. Я думаю, что ты что-то недописал.

dikiy ★★☆☆☆ ()
Ответ на: комментарий от dikiy

Задание полностью: Какое значение примет переменная y если выражение x=3, x=-2, x=-3; y = (1,2+x^2)/4 будет выполнено на машине с относительной точностью 10^-6?

Больше ничего дано не было.

hope13 ★★★ ()
Ответ на: комментарий от hope13

все равно 2.55. У нас 6 знаков мантиссы, остутсвуют нестабильные операции. Подвоха нигде не видно. Можно смешло писать 2.55

dikiy ★★☆☆☆ ()
Ответ на: комментарий от Artificial_Thought

С чего бы? Стандартное сложение/умножение погрешностей.

aedeph_ ★★ ()
Ответ на: комментарий от dikiy

Ну при достаточно маленьком икс меньше нуля тут тоже можно получить погрешности.

Artificial_Thought ★★★★ ()
Ответ на: комментарий от dikiy

2.55 не представляется в виде конечной двоичной дроби.

aedeph_ ★★ ()
Ответ на: комментарий от aedeph_
2.549999952316284179687500000000 1.299999952316284179687500000000 2.549999952316284179687500000000 

Получил такие значени, правда в точности не уверен. ТС, тебе это надо?

Artificial_Thought ★★★★ ()
Ответ на: комментарий от Artificial_Thought

Могу сообщить когда узнаю, что точно требовалось; пока зам не знаю, нужно уточнить. Но за ответ спасибо всем!

hope13 ★★★ ()
Ответ на: комментарий от dikiy

Но тут даже ее некуда всунуть, согласно условию.

А как же феерическое 486 + 100 = 585,9999999999?

cvs-255 ★★★★★ ()
Ответ на: комментарий от Artificial_Thought

Ну при достаточно маленьком икс меньше нуля тут тоже можно получить погрешности.

ну или так, да.

dikiy ★★☆☆☆ ()
Ответ на: комментарий от dikiy

Это бага в FPU x87 была такая. Ну и то из анектода, что интел потому вместо 586 выпустил Pentium, что их железо на 486+100 выдавало вот такое вот.

Artificial_Thought ★★★★ ()

42.... и даже не читал о чем вопрос :)

Jetty ★★★★★ ()
bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
(1,2 + 3^2)/4
(standard_in) 1: parse error
(1.2 + 3^2)/4
2.5500000000

Тут «прикол» с тем, чтобы погрешность правильно оценить. Ну и вспомнить, что результат может быть вида 2.5499999 из-за особенностей представления чисел в машинном коде…

В общем, ТС, бери, да записывай все числа в двоичном коде и смотри, где может выплыть западло.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

Тут «прикол» с тем, чтобы погрешность правильно оценить. Ну и вспомнить, что результат может быть вида 2.5499999 из-за особенностей представления чисел в машинном коде…

не может такого быть, если без багов процессор.

dikiy ★★☆☆☆ ()
Ответ на: комментарий от dikiy

При чем здесь баги? Некоторые числа просто физически не способны быть точно переведены в двоичный код.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от dikiy

2.55 не представляется в виде конечной двоичной дроби. [2]

aedeph_ ★★ ()
Ответ на: комментарий от aedeph_

2.55 не представляется в виде конечной двоичной дроби. [2]

Таки да. Совсем забыл про такой прикол.

dikiy ★★☆☆☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.