C语言的位域使用
通过联合体,可以管理一个字节的每一个位,这样是为了结省内存,充分利用字节中的信息。
unionSTATE{structBITDATA{BOOLD0:1;//BOOL的取值范围:0或-1BOOLD1:1;BOOLD2:1;byteD3:1;//byte的取值范围:0或1byteD4:1;byteD5:1;byteD6:1;byteD7:1;}BIT;//须声明一个变量bytevalue;};voidCMFCApplication1Dlg::OnBnClickedButton4(){STATEsta;sta.value=0x17;//整体赋值BOOLa1=sta.BIT.D0;//取出第一个位sta.BIT.D0=FALSE;//给第一个位赋值//将值转成字符串CStringstr=sta.BIT.D0?_T("True"):_T("False");}
位域常用来作为设备IO状态管理或者权限管理。其实也可以用数组来代替上面的功能。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。