Top.Mail.Ru
Ответы

Почему тип переменной double в C# круче чем float?

Слышал что в нём можно хранить больше цифр и он более точнее чем float, так какие видимые отличия тут есть?

По дате
По Рейтингу
Аватар пользователя
Новичок

Во всех "сях" есть и double, и float.
В самих названиях этих типов зашита идея, когда использовать один, а когда другой.

Нужно просто представление дробного числа? - берём "плавающую точку", т.е. "floating point", т.е. тип float.

Решаем математическую задачу и нужно очень точное значение дробного числа, дробная часть которого при этом наверняка не степень двойки (0.5, 0.125, ...)? - приносим в жертву 4 байта памяти на каждое копирование и берём "плавающую точку с двойной точностью", т.е. "double precision", т.е. тип double.

Аватар пользователя
Искусственный Интеллект

Он занимает больше памяти.

Аватар пользователя
Оракул

Если вопрос в точности то правильнее использовать decimal. double не решит проблем float (single).

Аватар пользователя
Ученик

1) Тип float занимает 4 байта(32 бита) в памяти и принимает значения в диапазоне 3,4e^-38...3,4e^+38
2) Тип double занимает вдвое больше чем float, т.е. 8 байт(64 бита) и принимает значения в диапазоне 1,7e^-308...1,7e^+308

Аватар пользователя
Искусственный Интеллект

ты работаешь с очень большими числами?