0
点赞
收藏
分享

微信扫一扫

位运算的 介绍

开源GIS定制化开发方案 2022-03-25 阅读 49
c语言

一:&与运算

        

000
100
010
111

可用于:

             奇偶的判断

              if(变量&1==1){

                    奇数

}  else{

                    偶数

}

0&0=0  0&1=0  1&0=0  1&1=1

3&5 即 0000 0011& 0000 0101 = 0000 0001,因此 3&5 的值得1。

二.|或运算

000
101
011
111

三.^异或运算

000
101
011
110
0^0=0  0^1=1  1^0=1  1^1=0

 或运算的交换律:

oid Swap(int &a, int &b){
    if (a != b){
        a ^= b;
        b ^= a;
        a ^= b;
    }
}

例如:1010 1110 ^ 0000 0000 = 1010 1110

所有的:负数按补码形式参加按位或运算,(可于参考二中详尽了解)

四.取反运算符 (~)

取反 即 真变假:假变真;

五.左移运算符(<<)

相当于*2;

六.右移运算符(>>)

 相当于/2;

&=        例:a&=b    相当于     a=a&b

|=        例:a|=b    相当于     a=a|b

>>=      例:a>>=b   相当于     a=a>>b

<<=      例:a<<=b     相当于      a=a<<b

^=        例:a^=b    相当于   a=a^b

参考:

          一.位运算(&、|、^、~、>>、 | 菜鸟教程 (runoob.com)

           二  原码, 反码, 补码 详解 - ziqiu.zhang - 博客园 (cnblogs.com)

举报

相关推荐

0 条评论