首页 > 其他 > 详细

位运算

时间:2019-04-30 13:57:38      阅读:136      评论:0      收藏:0      [点我收藏+]
原文:位运算

   最近把《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

 

位运算

原文:https://www.cnblogs.com/lonelyxmas/p/10795372.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!