Вопрос

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

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

Это было полезно?

Решение

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

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

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

Другие советы

В С# double всегда имеет размер 8 байт (64 бита).

Это не меняется.

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

Console.WriteLine(Double.MaxValue);

и компилируем как в x86, так и в x64.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top