zoukankan      html  css  js  c++  java
  • 位运算

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

  • 相关阅读:
    MySQL 三节点企业版
    Raft 一致性算法论文译文 JAVA
    MySQL EXPLAIN 命令详解学习
    MySQL 5.7.17 Group Replication 初始
    JAVA 线程池以及其他
    什么是IIS并发连接数
    CUDA
    各种学习手册在线
    弱电系统标准CAD图例识图讲解
    ACM---算法
  • 原文地址:https://www.cnblogs.com/lxshwyan/p/10795184.html
Copyright © 2011-2022 走看看