1位运算位运算CC语言具有位逻辑运算和移位语言具有位逻辑运算和移位运算的独特功能,参与位运算的运算运算的独特功能,参与位运算的运算量必须是量必须是整数整数
位逻辑运算包括
位逻辑运算包括&&、、||、∧、~四种运算,移位运算有、∧、~四种运算,移位运算有两种运算
其中~位单目运算符
其中~位单目运算符
1按位与按位与12
2按位或按位或12
3按位异或按位异或12
4按位取反按位取反12
5按位左移按位左移12
6按位右移按位右移12
7位运算的复位运算的复合赋值运算合赋值运算符符12
1按位与按位与参与运算的量,如果参与运算的量,如果相对应的两位相对应的两位都为都为11,,则则该位该位的结果值为的结果值为11,否则为,否则为00,即:,即:0&0==00&1==01&0==01&1==10&0==00&1==01&0==01&1==1如:如:aa的值为的值为0x12340x1234,,bb的值为的值为0x00ff0x00ff,,a&ba&b运算的结果运算的结果cc应为:应为:a0001001000110100a0001001000110100&&b0000000011111111b0000000011111111c0000000000110100c0000000000110100按位与按位与常用于将某个运算量的常用于将某个运算量的某些位清某些位清00或提取某些位或提取某些位的值的值,如本例中,将变量的高,如本例中,将变量的高88位清位清00,同时保留或提取低,同时保留或提取低88位的值,可用一个高位的值,可用一个高88位为位为00,低,低88位为位为11的值的值0x00ff0x00ff和它和它进行按位与