通過聯合體,可以管理一個字節的每一個位,這樣是為了結省內存,充分利用字節中的信息。
union STATE
{
struct BITDATA
{
BOOL D0 : 1;//BOOL的取值范圍:0或-1
BOOL D1 : 1;
BOOL D2 : 1;
byte D3 : 1;//byte的取值范圍:0或1
byte D4 : 1;
byte D5 : 1;
byte D6 : 1;
byte D7 : 1;
}BIT;//須聲明一個變量
byte value;
};
void CMFCApplication1Dlg::OnBnClickedButton4()
{
STATE sta;
sta.value = 0x17;//整體賦值
BOOL a1 = sta.BIT.D0;//取出第一個位
sta.BIT.D0 = FALSE;//給第一個位賦值
//將值轉成字符串
CString str = sta.BIT.D0 ? _T("True") : _T("False");
}位域常用來作為設備IO狀態管理或者權限管理。其實也可以用數組來代替上面的功能。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。