???????????????г??????λ(bit)?????????????????????????λ????????? ??????????????????????????????д??????

????????????????????????????????????????????????????????????
?????????? ????
????????????????????????????????????????????????????????????
????& λ?????
????| λ?????
????^ λ??????
????- λ?????
????>> ????
????<< ????
????????????????????????????????????????????????????????????

??????λ??????????????е????λ???м?????????λ?? ??????????????????????????????????壬 ??????????????????á?

????????????????λ????????????

????1????λ????????λ???????"&"????????????書(shū)??????????????????????????λ??????ж????????????λ???1??????λ???1 ???????0????????????????????????

???????磺9&5??д??????£? 00001001 (9??????????)&00000101 (5??????????)??00000001 (1??????????)???9&5=1??

??????λ????????????????Щλ??0?????Щλ???????a ????λ?? 0 ?? ??????λ?? ???? a&255 ???? ( 255 ??????????0000000011111111)??

main(){
int a=9??b=5??c;
c=a&b;
printf("a=%d/nb=%d/nc=%d/n"??a??b??c);
}

????2????λ????????λ???????“|”????????????書(shū)??????????????????????????λ?????????????????λ??????1??????λ?1????????????????????????????

???????磺9|5??д??????£? 00001001|00000101

????00001101 (??????13)???9|5=13

main(){
int a=9??b=5??c;
c=a|b;
printf("a=%d/nb=%d/nc=%d/n"??a??b??c);
}

????3????λ?????????λ????????“^”????????????書(shū)??????????????????????????λ?????????????????λ???????????1???????????????????????????9^5??д????????£? 00001001^00000101 00001100 (??????12)

main(){
int a=9;
a=a^15;
printf("a=%d/n"??a);
}

????4??????????????????????????????????????? ?書(shū)??????????????????????λ??λ???????硫9????????? ~(0000000000001001)??????1111111111110110

????5???????????????????“<<”????????????書(shū)???“<< ”?????????????????λ??????????λ????“<<”??????????????λ??????λ????????λ??0?????磺 a<<4 ???a???????λ???????4λ????a=00000011(?????3)??????4λ???00110000(?????48)??

????6???????????????????“>>”????????????書(shū)?????“>> ”?????????????????λ??????????λ??“>>”??????????????λ???????磺?? a=15??a>>2???????000001111?????00000011(?????3)?? ????????????????з????????????????????λ???????????????????? ??λ??0????????????????λ?1????λ???0?????1 ????????????漲??

main(){
unsigned a??b;
printf("input a number: ");
scanf("%d"??&a);
b=a>>5;
b=b&15;
printf("a=%d/tb=%d/n"??a??b);
}

??????????????

main(){
char a='a'??b='b';
int p??c??d;
p=a;
p=(p<<8)|b;
d=p&0xff;
c=(p&0xff00)>>8;
printf("a=%d/nb=%d/nc=%d/nd=%d/n"??a??b??c??d);
}

?????????а?λ???????????16?????????????????????0x01 ???0000 0001

????????????????a???λ???1??????????a=a|0x80????????????????????