Я только что слышал, что размер int зависит от машины. Я всегда думал, что размер int составляет 32 бита. Может кто-нибудь объяснить эту загадку?Является ли int в C# 32 бит?
ответ
В C# тип int
всегда равен Int32
и всегда 32 бит.
Некоторые другие языки имеют разные правила, а int
может быть зависимым от машины. В некоторых языках int
определяется как имеющий минимальный размер, но конкретный размер машины/реализации, по крайней мере, такой большой. Например, в C++ тип данных int не обязательно 32 бит. От fundimental data types:
общая спецификация является то, что INT имеет естественный размер, предложенный архитектуры системы (один «слово») и четыре целочисленных типов обугливается, короткие, Int и долго должен каждый быть по крайней мере, большая как предшествующий ему, причем char всегда имеет один байт.
Однако .NET стандартизированы это, так что типы фактически определены как Int32
, Int64
и т.д. В C#, int
является псевдонимом для System.Int32
, и всегда будет 32 бита. Это гарантируется разделом 4.1.5 Integral Types
в Спецификация языка C#, в котором говорится:
Типа INT представляет подписало 32-разрядные целые числа со значениями между -2147483648 и 2147483647.
, хотя если вы специально хотите использовать 64-битное целое число, вы можете использовать 'long' или' Int64' – DiskJunky
@ DiskJunky Да, но это не 'int' :) –
true, но было неявным в вопросе о том, что между 32 битных и 64-битных целых чисел, предположительно на 64-битных процессорах :-) Хотя, возможно, 16-разрядные процессоры тоже, если компилировать для устройства, но мы будем * путь * отключить тему на этом этапе. Игнорирование! :-) – DiskJunky
MSDN утверждает, что int
32 биты. Возможно ли, что человек говорит о C++?
В C++
size of integral types in bytes is unspecified by the standard
Это разные размеры в C++? –
@SachinKainth Как вы можете видеть из ответа в моем редактировании, оно не указано –
int
является псевдонимом System.Int32
. Вы также можете использовать System.Int16
, System.Int64
и BigInteger
.
От C# Language Specifications:
Типа
int
представляет собой 32-разрядные целые числа со значениями между -2147483648 и 2147483647.
- 1. Почему int 32 бит?
- 2. Is int in C Всегда 32-бит?
- 3. 32 бит unsigned int php
- 4. C - Как проверить, есть ли 8 бит в 32 бит?
- 5. MD5 для моего java hashcode, который является int 32 бит
- 6. Является ли iPhone OS 64 бит или 32 бит?
- 7. `int` предполагается всегда 32 бит в OpenCV?
- 8. Является ли Java int всегда 32 битами?
- 9. 32 бит в преобразование unit64 в C++
- 10. создание 32-битного unsigned int в c
- 11. C# Change Control.Top От 16 до 32 бит Int (WinForms)
- 12. unsigned int (32 бит) до беззнакового длинного длинного (64 бит)
- 13. Является ли int гарантировано равным 32 бит на каждой платформе, поддерживаемой Qt, или только qint32?
- 14. C++ WriteProcessMemory Не работает в 32 бит
- 15. Является ли это корректным поведением для обращения к 32-битовому `int`, используя бит-поле внутри объединения?
- 16. 32-бит или 64-бит? Использование кода C
- 17. Как определить, является ли моя ОС 32 или 64 бит?
- 18. Как определить, является ли клиентская система 32 или 64 бит?
- 19. Как определить, является ли приложение .NET 32 или 64 бит?
- 20. Qt проверяет, является ли текущий процесс 32 или 64 бит
- 21. Является ли добавочное поле компоновщика для не-32 бит?
- 22. В MSVC 6 есть int 16 или 32 бит?
- 23. Как определить, является ли System.Diagnostics.Process 32 или 64 бит?
- 24. Как узнать, является ли мой процессор 32 или 64 бит?
- 25. Преобразование 12 бит int в 16 или 32 бита
- 26. Приложение Easyhook 32 бит
- 27. C# Преобразование отрицательного int в 11 бит
- 28. 4x8 бит INT в 32 разрядное целое число
- 29. C/C++ Проверьте, установлен ли бит 31 в unsigned int
- 30. Fortran: переносимость производительности 32 бит/64 бит
'int' является синонимом для' System.Int32', который всегда ровно 32-бит. 'long' /' System.Int64' - это 64-разрядный целочисленный тип данных C#. – JosephHirn