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次方

  • 相关阅读:
    Java实现2048小游戏
    归并排序【代码】
    插入排序【代码】
    选择排序【代码】
    考试系统
    九九乘法表
    万年历
    猜数游戏
    C++知识点(杂)
    Core Data ,inverse
  • 原文地址:https://www.cnblogs.com/heixiang/p/10964108.html
Copyright © 2011-2022 走看看