设为首页 加入收藏

TOP

位运算
2019-09-17 18:33:23 】 浏览:18
Tags:运算

   最近把《C#6.0学习笔记》这本书看了一下,里面有一小段讲到了位运算,在这之前其实位运算我基本上总是混淆,可能是用的少且理解不透,今天又重新梳理了一遍!

  位运算主要只二进制之间的运算,我们常用到的主要有以下五种:

  一、按位与(&)

          将2个数二进制位进行与运算,当两者对应二进制位上的都为真时结果才为真,否则为假(真=1;假=0)如 2&6=2

           2 对应二进制如: 0    1   0

           6 对应二进制如: 1    1   0

        对应位数进行比较: 0   1   0   结果为2

二、按位或(|)

          将2个数二进制位进行或运算,当两者对应二进制位上的只要有一个真时结果才为真,否则为假(真=1;假=0)如 2|6=6

          2 对应二进制如: 0    1   0

          6 对应二进制如: 1    1   0

      对应位数进行比较: 1   1   0   结果为6

三、按位异或(^)

         将2个数二进制位进行异或运算,当两者对应二进制位上的有且只有一个真时结果才为真,否则为假(真=1;假=0)如 2^6=4

          2 对应二进制如: 0    1   0

          6 对应二进制如: 1    1   0

         对应位数进行比较: 1    0   0   结果为4

四、左移(<<)

      把一个数的二进制所有位都向左移,如3<<2 ,j将3左移2位 3(011)<<2     =>    01100=12

五、右移(>>)

        把一个数的二进制所有位都向右移,如4>>2 ,j将4右移2位 4(100)>>2     =>   001=1

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇WPF学习笔记(8):DataGrid单元.. 下一篇.netcore2.1 使用IdentityServer4..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目