LINUX.ORG.RU

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

я в курсе, что число с плавающей точкой с длинной мантиссой может быть порезано в любом месте и их сравнивать точно не очень полезно, но не ожидал, что проявится на такой маленькой мантиссе на обычном сложении даже без деления.

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

Стандарт представления чисел с плавающей запятой IEEE-754 не дает абсолютно никаких гарантий КАК именно будет представлено внутренне заданное тобой число, только допустимые границы порядка/мантиссы.

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

Все твои константы, которые ты вбил это бесконечные периодические дроби в двоичной системе и они будут усечены при хранении в памяти, естественно с погрешностью.

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

но не ожидал, что проявится на такой маленькой мантиссе на обычном сложении даже без деления.

Но ведь мантисса и порядок сами по себе представляют деление. И сложение floating-point можно предславлять себе как сложение дробей.

И, так выходит, что операнды 0.04 и 0.69 имеют разный подядок (посмотри тут https://www.h-schmidt.net/FloatConverter/IEEE754.html ) вот и имеем расчет LCM

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

я в курсе, что число с плавающей точкой с длинной мантиссой может быть порезано в любом месте и их сравнивать точно не очень полезно, но не ожидал, что проявится на такой маленькой мантиссе на обычном сложении даже без деления.

Нет, не в курсе.

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

А что ты хотел от раздела с какой-то шляпой вместо прикрепленных. Еще скажи что уни/утф треда уже несколько месяцев не было. Представь сколько новоиспеченных дивилоперов даже не создают таких тредов.

anonymous ()

А чего решённой отметил? Тебе ведь никто не объяснил, что сравнивать надо как (0.72 - (0.68 + 0.04)) < epsilon, где epsilon - достаточная для тебя точность.

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

что сравнивать надо как (0.72 - (0.68 + 0.04)) < epsilon

В общем случае - не надо. Всегда будет такая пара чисел, которые из-за своего порядка достаточно близко к друг другу, но разность все равно больше eps.

Makhno ()