zoukankan      html  css  js  c++  java
  • 位运算功能大全

    去掉最后一位
    示例:\((101101 \Rightarrow 10110)\)
    位运算:\(x>>1\)

    在最后加一个0
    示例:\((101101\Rightarrow1011010)\)
    位运算:\(x<<1\)

    在最后加一个1
    示例:\((101101\Rightarrow1011011)\)
    位运算:\((x<<1)+1\)

    把最后一位变成1
    示例:\((101100\Rightarrow101101)\)
    位运算:\(x|1\)

    把最后一位变成0
    示例:\(101101\Rightarrow101100\)
    位运算:\((x|1)-1\)

    最后一位取反
    示例:\((101101\Rightarrow101100)\)
    位运算:\(x^1\)

    把右数第k位变成1
    示例:\((101001\Rightarrow101101,k=3)\)
    位运算:\(x|(1<<(k-1))\)

    把右数第k位变成0
    示例:\((101101\Rightarrow101001,k=3)\)
    位运算:\(x\ and\ ~(1<<(k-1))\)

    右数第k位取反
    示例:\((101001\Rightarrow101101,k=3)\)
    位运算:\(x (xor (1<<(k-1)))\)

    取整数n在二进制表示下的第k位
    位运算:\((n>>k)\ and \ 1\)

    取整数n在二进制表示下的后k位
    位运算:\(n\ and\ ((1<<k)-1)\)

    取末k位
    示例:\((1101101\Rightarrow1101,k=4)\)
    位运算:\(x\ and\ ((1<<k)-1)\)

    取右数第k位
    示例:\((1101101\Rightarrow1,k=4)\)
    位运算:\(x>>(k-1)\ and\ 1\)

    把末k位变成1
    示例:\((101001\Rightarrow101111,k=4\)
    位运算:\(x|((1<<k)-1)\)

    末k位取反
    示例:\((101001\Rightarrow100110,k=4\)
    位运算:\(x\ xor\ ((1<<k)-1)\)

    把右边连续的1变成0
    示例:\((100101111\Rightarrow100100000)\)
    位运算:\(x\ and\ (x+1)\)

    把右起第一个0变成1
    示例:\((100101111\Rightarrow100111111\)
    位运算:\(x|(x+1)\)

    把右边连续的0变成1
    示例:\((11011000\Rightarrow11011111)\)
    位运算:\(x|(x-1)\)

    取右边连续的1
    示例:\((100101111\Rightarrow1111)\)
    位运算:\((x\ xor\ (x+1))>>1\)

    去掉右起第一个1的左边
    示例:\((100101000\Rightarrow1000)\)
    位运算:\(x\ and\ (x\ xor\ (x-1))\)

  • 相关阅读:
    快速排序
    归并排序
    堆排序
    通过先序和中序创建二叉树
    插入排序
    二叉排序树
    九宫重排
    字符串匹配 sunday算法
    傻逼数学题(math)
    最近点对学习笔记
  • 原文地址:https://www.cnblogs.com/Luvwgyx/p/8409836.html
Copyright © 2011-2022 走看看