今天看《编程之美》的1.2节
unsigned char a:4;
unsigned char b:4;
} i;
for(i.a = 1; i.a <= 9; i.a++)
for(i.b = 1; i.b <= 9; i.b++)
if(i.a % 3 == i.b % 3)
1.里面有这样一个程序
unsigned char a:4;
unsigned char b:4;
} i;
for(i.a = 1; i.a <= 9; i.a++)
for(i.b = 1; i.b <= 9; i.b++)
if(i.a % 3 == i.b % 3)
printf(“A = %d, B = %d\n”, i.a, i.b);
位域在定义的时候里面的成员长度要不能超过8位;
可以使用这样的定义空域unsigned char :0;让下一个位域从下一个单元开始存放;
位域可以无位域名,这时它只用来作填充或调整位置,如int :2
2.C语言中^是异或运算符,不同为1,相同为0
3.C语言中的移位运算符>>、<<;比如1101>>2,编译器会默认左边的值是十进制而不是二进制,得到的结果也是十进制的