1 定义一个位域的结构体
typedef struct
{
    unsigned char a:3;/*0-2位*/
    unsigned char b:2;/*3-4位*/
    unsigned char c:3;/*5-7位*/
}Demo; 
void show1010(int val){
	printf("%d : ",val);
	for(int i=7;i>=0;i--){
		//依次输出它的每一个二进制位
		printf("%d",(val & 1<<i)!=0);
	}
	printf("\n");
} 
2 代码验证
int main()
{ 
	
	Demo *tt;
	char buf[100];
	memset(buf,0,100);
	tt = (Demo*)&buf[0];
	tt->a = 5;
	tt->b = 2;
	tt->c = 7;
	//一个字节值
	printf("value:%d\n",buf[0]);
	//
                
                      
                            
                        
                            
                            
                          
                          
                            
                            
本文详细介绍了C/C++中的位域计算,从定义位域结构体开始,通过具体代码验证操作,最后展示操作的效果,帮助读者深入理解位域计算的概念和应用。
          
                  
                订阅专栏 解锁全文
                
            
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
                    
              
            
                  
					9692
					
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
					
					
					


            