float или double

float
2
Нейтральная
сторона
0
double
6
При решении определенных задач лучше использовать его
Прежде чем писать комментарии или выбрать сторону вы должны авторизироваться!
Нет, его

03-03-2012 19:30 0

Понимаю что машины сейчас мощные, но православнее использовать необходимый минимум.
Особо сложного кода с высшим матаном не писал, so forever infloat

0 комментариев
03-03-2012 19:20 0

Конечно медленнее, но за то без погрешностей.

1 комментарий
opera.rulez 03-03-2012 19:28 +1

i.c, 1. Вы сравнивали, чтобы утверждать, что медленнее?

2. Вы уверены, что double без погрешностей?

3. Вы слышали о библиотеках типа GMP для вычислений с большим количеством разрядов?

03-03-2012 19:26 0

Это про сишные типы данных (32 бита и 64 соответственно)? Если да, то ни то, ни другое. В сопроцессор 80x87 встроен 80-битный тип данных (long double в Си, extended в Турбо Паскале). Для вычисления производных функции второго порядка и выше методом конечных разностей приходится использовать его, иначе получается лажа.

Какой смысл в усечении размера, если при промежуточных вычислениях используется 80 бит?

5 комментариев
r619 03-03-2012 19:35 +1

opera.rulez, После промежуточных вычислений память очищается.

Если везде использовать double - память будет зашкаливать и в простое

opera.rulez 03-03-2012 19:45 0

r619, То есть экономия 50% памяти в ущерб корректности результатов полезна?

Позвольте полюбопытствовать, а какой видеорежим Вы предпочитаете? Мне кажется, что True Color — бессмысленное расточительство, когда можно обойтись 256-цветной, а то и шестнадцатицветной палитрой.

r619 04-03-2012 21:47 0

opera.rulez, Вероятно, люди типа вас как раз работали над Crysis.

Глупо использовать многоцветную палитру для чернобелых изображений, так же как и png для кадра 256-цветной гифки.

Корректность важна, но в подавляющем большинстве случаев мне для вычислений хватает рамок float. Если не хватает - double, чо

opera.rulez 04-03-2012 22:04 0

r619, В подавляющем большинстве прикладных задач хватит и целочисленных переменных. Например, для финансовых вычислений можно считать, что все суммы умножены на 100 (то есть считаем в копейках, а не в рублях), а когда требуется повышенная точность, то на 10000 (то есть единицей является сотая часть копейки).

В частности, ходят слухи, что веббраузер Опера использует для CSS целочисленные переменные, чем обусловлена высокая скорость рендеринга на старых машинах.

r619 04-03-2012 22:15 +1

opera.rulez, Не сама опера, тащемта, а presto.
сейчас задумался про такое "псевдоумножение", вроде действительно должно быть эффективнее, оказывается я так кучу кода float-ами наговнокодил

04-03-2012 21:20 0

В моей работе, как математика-программиста - double. Если оптимизаторы хотят - пусть меняют сами, их дело.

0 комментариев