Насколько велик DWORD с 32- и 64-разрядным кодом?
Вопрос
В Visual C ++ DWORD - это просто длина без знака, зависящая от компьютера, платформы и SDK.Однако, поскольку DWORD - это двойное слово (то есть 2 * 16), остается ли DWORD 32-разрядным на 64-разрядных архитектурах?
Решение
На самом деле, на 32-битных компьютерах слово является 32-битным, но тип DWORD является пережитком старых добрых 16-битных дней.
Чтобы упростить перенос программ на более новую систему, Microsoft решила, что все старые типы не будут изменять размер.
Вы можете найти официальный список здесь: http://msdn.microsoft.com/en-us/ библиотека / aa383751 (VS.85) .aspx р>
Все платформо-зависимые типы, которые изменились при переходе с 32-разрядного на 64-разрядное, заканчиваются _PTR (DWORD_PTR будет 32-разрядным в 32-разрядной Windows и 64-разрядной в 64-разрядной Windows). р>
Другие советы
Он определяется как:
typedef unsigned long DWORD;
Однако, согласно MSDN:
На 32-битных платформах long синоним int.
Следовательно, DWORD является 32-разрядным в 32-разрядной операционной системе. Для 64-битного DWORD существует отдельное определение:
typdef unsigned _int64 DWORD64;
Надеюсь, это поможет.
Нет ... на всех платформах Windows DWORD составляет 32 бита. LONGLONG или LONG64 используется для 64-битных типов.
Простой DWORD состоит из 32 бит WORD состоит из 16 бит -отредактирован
8 бит - это байт. 2 байта это слово. Двойное слово или DWORD составляет 4 байта или 2 слова.
DWord - это двойное слово, и слово равно 65535. В этом случае двойное слово будет равно 65535 ^ 2 = 4294836225 или ulong, а его слово размером 4 байта будет 2 байта
И это 2 байта для хранения на жестком диске или отправки через Интернет.
:) на современных процессорах является 32-битным или 64-битным. Это просто длина указателя памяти (которая в свою очередь является емкостью ALU). Р>
Но исторически x86 " слово " 16 бит (вместо 32). Таким образом, библиотеки Microsoft, которые исторически нацелены на x86, определяют DWORD как unsigned long, то есть «размер указателя машины». Р>
Это все дети. Для дальнейшего использования см. Википедию .
Называй долго, dword32, dword64 ... как хочешь, но байт 8 бит слово 2 байта меч (двойное слово) - 2 слова qword (четверное слово) - 4 слова
В 32- или 64-битных системах псевдонимы типа LONG или INT могут различаться, но двойное слово по-прежнему является двойным словом