C

C ++でのBYTE、WORD、DWORDの役割と違い



Role Difference Byte



VC ++ 6.0では、BYTE、WORD、およびDWORDは、実際にはWINDEF.hで定義されている符号なし整数です。

typedef unsigned char BYTE typedef unsigned short WORD typedef unsigned long DWORD

つまり、BYTEはunsigned char型、WORDはunsigned short型、DWORDはunsignedlong型です。



VC ++ 6.0では、charが1バイト、shortが2バイト、intとlongが4バイトであるため、BYTE、WORD、DWORDで定義される変数は1セクション、2バイト、4ワードであると考えることができます。セクション。

つまり、BYTE = unsigned char、WORD = unsigned short、DWORD = unsigned long



DWORDは通常、アドレスの保存またはポインタの格納に使用されます。

WORDとDWORDの違い

WORDとDWORDの定義は、主に次のとおりです。1、移植が容易2、より厳密な型チェック

WORDは2バイトに固定され、DWORDは4バイトに固定されています。



Int、オペレーティングシステムが異なる場合、異なるバイトがあります。つまり、32ビットオペレーティングシステムでは4バイト、16ビットオペレーティングシステムでは2バイトです。

シリアル化された操作では、シリアル化はバイトストリームに格納されるため、ミスアライメントが発生しないようにするために、明示的なバイト数のデータ型が必要です。