Ответ 1
Нет, число с плавающей запятой с двойной точностью IEEE 754 всегда 64 бит. Точно так же одноточечная float
всегда 32 бита.
Если ваш вопрос касается конкретно С# и/или .NET(как указывает ваш тег), все размеры типов данных фиксированы независимо от вашей системной архитектуры. Это то же самое, что и Java, но отличается от C и С++, где размеры типоразмеров варьируются от платформы к платформе.
Обычно интегральные типы имеют разные размеры на разных архитектурах на C и С++. Например, int
имел ширину 16 бит в 16-разрядной DOS и 32 бит в Win32. Однако стандарт IEEE 754 настолько велик для вычисления с плавающей запятой, что размеры float
и double
не меняются в любой системе, которую вы найдете в реальном мире - 20 лет назад double
составляло 64 бита и так что сегодня.