Подтвердить что ты не робот

Размер Double Byte в 32-битной и 64-битной ОС

Есть ли разница в double при запуске моего приложения в 32-разрядной и 64-битной среде?

Если я не ошибаюсь, двойная в 32-битной среде займет до 16 цифр после 0, тогда как double в 64 бит займет 32 бит, правильно?

4b9b3361

Ответ 1

Нет, число с плавающей запятой с двойной точностью IEEE 754 всегда 64 бит. Точно так же одноточечная float всегда 32 бита.

Если ваш вопрос касается конкретно С# и/или .NET(как указывает ваш тег), все размеры типов данных фиксированы независимо от вашей системной архитектуры. Это то же самое, что и Java, но отличается от C и С++, где размеры типоразмеров варьируются от платформы к платформе.

Обычно интегральные типы имеют разные размеры на разных архитектурах на C и С++. Например, int имел ширину 16 бит в 16-разрядной DOS и 32 бит в Win32. Однако стандарт IEEE 754 настолько велик для вычисления с плавающей запятой, что размеры float и double не меняются в любой системе, которую вы найдете в реальном мире - 20 лет назад double составляло 64 бита и так что сегодня.

Ответ 2

В С# double всегда 8 байтов (64 бит)

Ответ 3

Он не изменяется.

Простой способ проверить это - написать простое консольное приложение с

Console.WriteLine(Double.MaxValue);

и компиляция как для x86, так и для x64.