Информация об изменениях

Сообщение Re: Числа с плавающей точкой от 07.04.2016 17:49

Изменено 07.04.2016 17:51 __kot2

Здравствуйте, FrozenHeart, Вы писали:
FH>- Продолжать использовать double'ы, не забывая о корректном сравнении и прочих подводных камнях
double вполне достаточно в большинстве случаев. а есть кстати, еще long double, стоит попробовать сравнить результаты с обеими типами

FH>- Начать использовать decimal floating point numbers и получить преимущество (?). Сравнивать их через operator== без epsilon можно, кстати?

это для бухгалтерии, так как даже с long double часто бывают числа в десятичной записи выглядящие как 1 + 2 = 2.99999999999999999999999999999999999

FH>- Начать использовать fixed point numbers и получить преимущество (?)

это используется в геймдеве для девайсов без floating point. очень неудобный и стремный тип

FH>- Переводить double'ы в int'ы, выполнять над ними все необходимые операции и конвертировать обратно в double для передачи фреймворку?

это еще зачем?
Re: Числа с плавающей точкой
Здравствуйте, FrozenHeart, Вы писали:
FH>- Продолжать использовать double'ы, не забывая о корректном сравнении и прочих подводных камнях
double вполне достаточно в большинстве случаев. а есть кстати, еще long double, стоит попробовать сравнить результаты с обеими типами

FH>- Начать использовать decimal floating point numbers и получить преимущество (?). Сравнивать их через operator== без epsilon можно, кстати?

это для бухгалтерии, так как даже с long double часто бывают числа в десятичной записи выглядящие как 1 + 2 = 2.99999999999999999999999999999999999
приходится применять округление даже там, где его никто не ждет. а у бухгалтерии еще и округление свое (ога) и это рождает большую путаницу. поэтому где деньги, там decimal, и где decimal — там деньги

FH>- Начать использовать fixed point numbers и получить преимущество (?)

это используется в геймдеве для девайсов без floating point. очень неудобный и стремный тип

FH>- Переводить double'ы в int'ы, выполнять над ними все необходимые операции и конвертировать обратно в double для передачи фреймворку?

это еще зачем?