zoukankan      html  css  js  c++  java
  • 位运算的原理和应用

    6种位运算操作

    &:按位 与  and

    |:按位  或   or

    ^:按位 异或 xor

    ~:按位 取反 not

    <<:左移

    >>:右移

    1.按位 与 &

    原理:都为1结果为1,否则为0

    用途:将字节中的某一位或某几位设置为0。同时不影响其他位的操作

           和0xFFFF与操作 不改变原来数据

           Eg:16位,和0x0FFF操作  最高位置为0

    2.按位 或 |

    原理:都为0时输出0,否则输出1

    用途:将字节中的某一位或某几位设置为1。同时不影响其他位的操作

           和0x0000 或操作 不改变原数据

    Eg:16位,和0xF000操作   最高位置为1

    3.异或 ^

    原理:不同输出1,相同输出0

    用途:1.使特定位取反

             2.交换两个变量值

           异或操作 与 0xFFFF不改变原数据

    4.取反操作~

    原理:1变为0,0变为1

    用途:正数,源码、补码、反码一致

             负数,补码=源码符号为不动,取反+1

           一个数a取反 = -(a+1)

    5.左移和右移:

    用途:用于整数的快速乘除

    左移:移动n位 乘2的n次方

    右移:移动n位 除2的n次方

  • 相关阅读:
    elasticsearch head插件安装
    ELK部署配置使用记录
    windows 安装mysql
    vs2017创建dotnetcore web项目,并部署到centos7上
    CentOS 7 安装jdk
    CentOS 7 配置网络
    Surging 记录
    记录一下地址
    net core 依懒注入 中间件
    Elasticsearch 配置文件
  • 原文地址:https://www.cnblogs.com/heixiang/p/10964108.html
Copyright © 2011-2022 走看看