c语言位域demo

 1:1,2:10,3:11,4:100,5:101,6:110,7:111,8:1000

这里的b:3指的是赋的值以2进制表示占几位 ,所以b如果输入8就会报错

#include <stdio.h>
#include <windows.h>
struct DATA
{
   unsigned int i:1;   
   unsigned int b:3;
} data;
//1:1,2:10,3:11,4:100,5:101,6:110,7:111,8:1000所以 这里3指的是赋的值以2进制表示占几位 ,所以b如果输入8就会报错
int main(void){
   SetConsoleOutputCP(65001);
   data.i=0;
   data.b=6;
   printf("%d\n",data.i);
   printf("%d",data.b);
}

unsigned 是无符号的意思。2,3,4,5

signed是有符号的意思。会变成正负的数值比如  -2 +2

猜你喜欢

转载自blog.csdn.net/xuelang532777032/article/details/130154435