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的值为的值为0x000x00,,a&ba&b运算的结果运算的结果cc应应为:为:a0001001000110100a0001001000110100&b0000000011111111&b0000000011111111c0000000000110100c0000000000110100按位与按位与常用于将某个运算量的常用于将某个运算量的某些位清某些位清00或提取某些位的或提取某些位的值值,如本例中,将变量的高,如本例中,将变量的高88位清位清00,同时保留或提取低,同时保留或提取低88位位的值,可用一个高的值,可用一个高88位为位为00,低,低88位为位为11的值的值0x00ff0x00ff和它进行和它进行按位与
2按位或按位或参与运算的量,如