C 语言初级 位运算


第十章 位运算

  1、位运算对象只能是整形或字符型数据,在VC6.0中int型数据占4个字节

  2、位运算符:
运算符 作用
~ 按位求反
<< 左移
>> 右移
& 按位与
^ 按位异或
| 按位或

他们的优先级从高到低;

  3、位运算符的运算功能:
a、按位取反:
~01001101 = 10110010     取反:0变1  1变0
b、左移运算(将对象变为二进制数)
A=00000110 (a=6)
B =a<<2=00011000  (在最低位添上2个00,从最高位去掉前两位)

c、右移运算
负数:就是从最高位添上两个1,从最低位去掉两位
正数:就是从最高位添上两个0,从最低位去掉两位

d、按位与
把参加运算的两个运算数按对应的二进制位分别进行"与"运算,当
两个相应的位都为1时,该位结果为1,否则为:0;
1101010
0100100


e、按位异或
参与运算的两个运算数中相对应的二进制位上,若数相同,则该位的结果为0,
若数不同,则该位的结果为:1;

f、按位或
参加运算的两个运算数中,只要两个对应的二进制位中有一个为1,该
位的运算结果即为1,;只有当两个相应位的数都为0时,该位的运算结果才为0;
0010101
1101010




你可能感兴趣的:(位运算,c)