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