1. 程式人生 > >C++中BYTE、WORD、DWORD的作用以及區別

C++中BYTE、WORD、DWORD的作用以及區別

在VC++6.0中,BYTE、WORD、DWORD實際上是一種無符號整形,在WINDEF.h中被定義

typedef unsigned char BYTE;

typedef unsigned short WORD;

typedef unsigned long DWORD;

也就是說BYTE是無符號char型別,WORD是無符號short型,DWORD是無符號long型

在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位元組

在序列化的操作中,因為序列化是按照位元組流儲存的,為了保證不會錯位,要求使用具有明確位元組數目的資料型別