loadin Do…

一条只能往前走的路,叫时光.

首页 联系 订阅 管理

一、“按位与”运算符(&)

   1.运算规则

     参加运算的两个数据,按二进位进行“与”运算,如果两个相应的二进位都为1,则该位的结果值为1,否则为0,即:

    0&0=0,0&1=0,1&0=0,1&1=1.

   2.用途

     (1)清零

        运算对象:原来的数中为1的位,新数中相应位为0。

    (2)取一个数中某些指定位。

       如想要取一个整数a(占2个字节)的低(高)字节,只需将a与八进制的377(177400)按位与即可。

    (3)保留某一个数的某一位。

        与一个数进行&运算,此数在该位取1。

二、 按位或运算符(|)

   1.运算规则

     参加运算的两个数据,按二进位进行“或”运算,如果两个相应的二进位都为0,则该位的结果值为0,否则为1,即:

    0|0=0,0|1=1,1|0=1,1|1=1。

   2.用途

     对一个数据的某些位定值为1。

 

三、“异或”运算符(^)

   也称XOR运算符。

   1.运算规则

     若参加运算的两个二进位同号,则结果为0(假);异号则为1(真),即:

    0^0=0,0^1=1,1^0=1,1^1=0.

   2.用途

     (1)使特定位翻转

        假设有01111010,想使其低4位翻转,可以将它与00001111进行^运算。

    (2)与0相^,保留原值

    (3)交换两个值,不用临时变量

注意观察上面的异或运算,应该可以发现这样的规律,第一:不同号运算结果为1,第二:与1进行位运算后,结果相反,于是得到了以下方法:

        假如a=3,b=4。想将a和b的值互换,可以用以下赋值语句实现:

        a=a^b;  b=b^a;     a=a^b;

 

四、“取反”运算符(~)

   1.运算规则

   ~是一个单目(元)运算符,用来对一个二进制数按位取反,即将0变1,1变0。

   2.用途

    使一个整数a的最低位为0,可以用:a=a&~1;

 

五、 左移运算符(<<)

   1.运算规则

   用来将一个数的各二进位全部左移若干位,右补0,高位左移后溢出,舍弃不起作用。

   2.用途

    左移一位相当于乘以2

  

六、 右移运算符(>>)

   1.运算规则

   用来将一个数的各二进位全部右移若干位,移到右端的低位被舍弃,对无符号数,高位补0;

    对有符号数,左边移入0(“逻辑右移”)或1(“算术右移”)

   2.用途

    右移一位相当于除以2

posted on 2009-02-14 13:45  i'am sl  阅读(202)  评论(0)    收藏  举报