@ProCxx

Страница 1051 из 2477
Рашиджон
04.07.2017
17:29:53
Простите я вас не понял

Рашиджон
04.07.2017
17:33:56
Спасибо

Mikhail
04.07.2017
17:58:11
В плюсах как нибудь можно проверить, что переменная дабл содержит только нули в памяти? Кроме memcmp?

Google
Mikhail
04.07.2017
17:58:30
Или вариант memcmp, но без создания временной переменной

И вообще double(0) - заполняет 8 байт нулями или это реально double число?

Mikhail
04.07.2017
17:59:46
если ты касаешься памяти, то да - memcmp
без временной перемнной можно проверить?

это число 0 в дабле
т.е. может быть и 0.000000001?

Alexander
04.07.2017
18:00:21
т.е. может быть и 0.000000001?
оно будет ноль с заданной точностью

точность эту гарантирует тебе Стандарт

Mikhail
04.07.2017
18:00:56
Ладно, а есть метод стандартный тогда на проверку нуля?

Vitaly
04.07.2017
18:01:05
И вообще double(0) - заполняет 8 байт нулями или это реально double число?
Никогда не используй такую арифметику особенно в сфере финансов.

Google
Vitaly
04.07.2017
18:01:30
какую такую?
Целочисленную конечно же.

Alexander
04.07.2017
18:01:46
Никогда не используй такую арифметику особенно в сфере финансов.
Только если ты гарантируешь погрешности в свою пользу ?

Vitaly
04.07.2017
18:01:52
Кстати, сразу вспомнил историю про банк. В общем, взял один человек кредитку в банке, входящем в десятку самых крупных в России, затем успешно погасил его. Дабы не платить за обслуживание счёта, он решил закрыть его и уничтожить карту. Написав заявление, операционист заявила, что закрыть счёт не может, т.к. у него до сих пор висит долг в виде 0.000000000XXXX рублей. Он решил заплатить, чтобы ликвидировать его, однако другой операционист на кассе заявил, что долга он видит и оплачивать попросту нечего. Принять же средства просто на счёт у них нельзя, т.к. счёт кредитный. В результате он несколько месяцев бился с руководством банка и те, в конце концов, выписали ему бумагу о "прощении долга", на основании которой счёт и был закрыт. Такая вот история, гласящая нам о том, что никогда не следует использовать данный тип данных в финансовых операциях. Нормальные банки всё хранят в виде целых чисел, а при выводе просто делят результат на 100.

Вот вам история про один банк из топ 10 российских. У них до сих пор такое дерьмо творится кстати.

Mikhail
04.07.2017
18:02:28
это понятно

Vladislav
04.07.2017
18:02:31
точность эту гарантирует тебе Стандарт
а есть вообще не IEEE 754-compliant имплементации плюсов?

Mikhail
04.07.2017
18:02:39
просто у меня double в делителе

Дед Пегас
04.07.2017
18:02:47
Кстати, сразу вспомнил историю про банк. В общем, взял один человек кредитку в банке, входящем в десятку самых крупных в России, затем успешно погасил его. Дабы не платить за обслуживание счёта, он решил закрыть его и уничтожить карту. Написав заявление, операционист заявила, что закрыть счёт не может, т.к. у него до сих пор висит долг в виде 0.000000000XXXX рублей. Он решил заплатить, чтобы ликвидировать его, однако другой операционист на кассе заявил, что долга он видит и оплачивать попросту нечего. Принять же средства просто на счёт у них нельзя, т.к. счёт кредитный. В результате он несколько месяцев бился с руководством банка и те, в конце концов, выписали ему бумагу о "прощении долга", на основании которой счёт и был закрыт. Такая вот история, гласящая нам о том, что никогда не следует использовать данный тип данных в финансовых операциях. Нормальные банки всё хранят в виде целых чисел, а при выводе просто делят результат на 100.
Ну и хуита.

Mikhail
04.07.2017
18:02:50
мне нужно проверять, чтобы в делителе не было нуля

как мне это сделать тогда?

только через эпсилон?

Alexander
04.07.2017
18:03:07
как мне это сделать тогда?
проверь с заданной точностью

Дед Пегас
04.07.2017
18:03:09
Но флоаты зло.

Храните в fixed point!

Mikhail
04.07.2017
18:03:15
т.е. самому погрешность вводить?

Mikhail
04.07.2017
18:03:33
мда

Vitaly
04.07.2017
18:04:21
Ну и хуита.
А то. Не зря я этот банк рекомендую всем за 10 километров обходить.

Google
Дед Пегас
04.07.2017
18:04:40
/me правда и кредитов не берёт, нет нужды.

Alexander
04.07.2017
18:05:18
мда
С++ - боль

Kostya
04.07.2017
18:06:19
С++ - боль
согласен, пишите на ассемблере. ибо нефиг юзать этот синтаксический сахар

?

Alexander
04.07.2017
18:06:52
Scarf
04.07.2017
18:07:44
Не будет там нуля никогда.
Да ладно, если поставить 0 - будет 0

Alexander
04.07.2017
18:08:18
Да ладно, если поставить 0 - будет 0
Найден разраб с того банка ?

Vitaly
04.07.2017
18:08:29
Да ладно, если поставить 0 - будет 0
Надеюсь, это шутка была?

Scarf
04.07.2017
18:08:49
Если сделать 2.0 - 2.0 - ноля не будет

Vladislav
04.07.2017
18:08:49
С++ - боль
floating point - боль ftfy

Scarf
04.07.2017
18:09:12
(если только они из памяти тащаться)

Scarf
04.07.2017
18:09:22
Если константы, то они идентичны

И будет 0

Естественно, с заданой точностью

Vladislav
04.07.2017
18:09:52
вообще конечно сложно представить реализацию floating point, в которой нет точного нуля

Antony
04.07.2017
18:10:29
мне нужно проверять, чтобы в делителе не было нуля
а что результат операции может быть -/+inf не страшно?

Eugene
04.07.2017
18:10:55
как мне это сделать тогда?
Написать свою функцию isclose или isalmostzero. К сожалению, в std cmath нет такой :)

Google
Berkus
04.07.2017
18:11:15
буст под андроид собирается и работает

Mikhail
04.07.2017
18:11:16
Antony
04.07.2017
18:11:42
тогда проверка на ноль не спасёт

Alexey
04.07.2017
18:12:12
Нужно проверять на 0 с точность Eps

Vladislav
04.07.2017
18:12:12
Admin
ERROR: S client not available

Eugene
04.07.2017
18:12:51
потому что isalmostzero - понятие растяжимое
в чем противоречие то? Точность вводится либо одним коэффициентом, либо двумя в зависимости от алгоритма сравнения.

Berkus
04.07.2017
18:12:59
Я верю, что когда-то все было плохо. Мне интересно, насколько эти же проблемы актуальны сейчас
вроде бы уже не актуальны. r15 современный с нормальными хедерами и на кланге

Evgeniy
04.07.2017
18:13:13
так вот и не хочу, чтобы такой был
а что хочешь делать в таком случае?

Mikhail
04.07.2017
18:13:35
а что хочешь делать в таком случае?
Просто не считать и присваивать результат нулю

Sergei
04.07.2017
18:13:40
в r15 гугль выкинул g++ совсем
Я сохраню эту запись

Mikhail
04.07.2017
18:13:45
Да хрен с ним, буду на эпсилон сравнивать

Evgeniy
04.07.2017
18:14:05
Mikhail
04.07.2017
18:14:30
ну посчитай и проверь на not finite
а деление на ноль на всех ос в данном случае будет норм?

Sergei
04.07.2017
18:14:49
Ой, не эту, а про boost под android

Mikhail
04.07.2017
18:14:56
по моему в венде какое то поведение было неопределнное

Alexander
04.07.2017
18:15:13
по моему в венде какое то поведение было неопределнное
проц клинится, запрещённая инструкция

синий экран с грустным смайлом

Google
Alexander
04.07.2017
18:15:32
/sarcasm

Eugene
04.07.2017
18:15:37
Можно считать как-то так: std::abs(a - b) < std::abs(std::min(a, b)) * (eps * coeff) Так вроде в Qt сделано в qFuzzyEqual, но могу врать.

Berkus
04.07.2017
18:16:07
Ой, не эту, а про boost под android
могу в принципе выцарапать из приватных реп скрипт для сборки и выложить на гист

там немного магии c user-config.jam но надо будет для r15 его подчистить

Eugene
04.07.2017
18:17:59
C++ builder по умолчанию не маскирует floating point overflow errors

Sergei
04.07.2017
18:18:51
@berkus Если тебе будет не слишком сложно, то буду благодарен

Berkus
04.07.2017
18:20:05
@berkus Если тебе будет не слишком сложно, то буду благодарен
я не буду чистить для r15 выложу как есть, ок? потом может общими усилиями подпилим

Sergei
04.07.2017
18:21:40
Ок конечно, давай. Отлично

Berkus
04.07.2017
18:28:17
Ок конечно, давай. Отлично
поскольку там упоминается пару раз мой работодатель, я ща с менеджером провентилирую как лучше выложить. это немного задержит процесс но максимум завтра будет на гитхабе

Sergei
04.07.2017
18:39:55
Да без проблем - главное ссылку не забудь =))

Мне не супер к спеху

Berkus
04.07.2017
18:40:13
окей

PAM3ES
04.07.2017
18:58:27
"Rvalue ссылка ведет себя точно так же, как и lvalue ссылка, за исключением того что она может быть связана с временным объектом, тогда как lvalue связать с временным (не константным) объектом нельзя." это правильное утверждение?

или частично, если частично то добавьте что-то

Sergei
04.07.2017
19:08:09
Тебе не ответили там и ты спросил здесь - верно !

F.L
04.07.2017
19:08:28
во флудилке никого нет

мне там тоже не ответили

Страница 1051 из 2477