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

    位运算 Bitwise operations

    由于位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快。

    常见位运算符:

    编程常用的位运算操作

    x & 1 == 1 or == 0  判断 x 的二进制最后是 1 还是 0,即判断奇偶性(x % 2 == 1)

    x = x & (x - 1)  清零最低位的 1。例如 110101 & 110100 得到110100;110100 & 110011 得到11000

    x & -x  得到最低位的1。 -x 是取反再加1

    x & ~x  得到 0

    更为复杂的位运算操作

    1. 将 x 最右边的 n 位清零:x & (~0 << n)

    2. 获取 x 第 n 位值:(x >> n) & 1

    3. 获取 x 第 n 位的幂值:x & (1 << (n-1))

    4. 仅将第 n 位置为 1:x | (1 << n)

    5. 仅将第 n 位置为 0:x & (~(1 << n))

    6. 将 x 最高位至第 n 位(含)清零:x & ((1 << n) - 1)

    7. 将第 n 位至第 0 位(含)清零:x & (~((1 << (n + 1)) - 1))

  • 相关阅读:
    爬取药智网中的方剂信息
    日报3.13
    数据库添加出错
    Bencode
    一些安全网络协议
    代码质量不重要
    Jordan Peterson
    随身记录的缺点
    Why is Go PANICking?
    go问
  • 原文地址:https://www.cnblogs.com/chaojunwang-ml/p/11338890.html
Copyright © 2011-2022 走看看