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