美文网首页
运算符问题

运算符问题

作者: 晨阳Xia | 来源:发表于2021-03-06 11:23 被阅读0次

XOR - 异或

异或:相同为0,不同为1。也可用二进制的不进位加法来理解。
异或操作的一些特点:
x ^ 0 = x
x ^ 1s =  ~x (1s 是 ~0)
x ^ (~x) = 1s
x ^ x = 0
c = a ^ b => a ^ c = b, b ^ c = a 交换两个数
a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c

指定位置的运算符

  1. 将x最右边的n位清零 : x & (~0 << n)
  2. 获取x的第n位值(0 或 1) : (x >> n) & 1
  3. 获取x的第n位的幂 : x & (1 << n)
  4. 仅将第n位置为1 : x | (1 << n)
  5. 仅将第n位置为0 : x & (~(1 << n))
  6. 将x的最高位至第n位(含)清零 : x & ((1 << n) - 1)

实战位运算要点

  • 判断奇偶
    x % 2 == 1 ——> (x & 1) = 1
    x % 2 == 0 ——> (x & 1) = 0
  • x >> 1 ——> x / 2
    即:x = x / 2 ——> x = x >> 1
  • x = x & (x - 1) : 清零最低位的1
  • x & -x => 得到最低位的1
  • x & ~x = 0

相关文章

  • 2021-06-12 运算符号优先级问题

    运算符优先级: 括号() 优先于 &; &优先于判断运算符(如>=); 判断运算符优先于and。 问题起因: 寻找...

  • VS报错

    此运算符的参数太多 在重载运算符时容易出现此问题 问题在于,类中重载双目运算符,默认左边是*this,因此只接受一...

  • 3.8 typeof运算符

    3.8 typeof运算符 问题一:typeof 运算符概念? typeof是一元运算符,放在单个操作数的前面,操...

  • JavaScript 02 (运算符和选择结构)

    js的关系运算符,js的逻辑运算符,js的赋值运算符,js的运算符的优先级问题,js的自增和自减,js的选择结构 ...

  • 运算符问题

    XOR - 异或 异或:相同为0,不同为1。也可用二进制的不进位加法来理解。 异或操作的一些特点: 指定位置的运算...

  • 运算符重载

    ========用运算符是为了解决什么问题??==== =======什么情况下需要用运算符重载??===== =...

  • python中逻辑运算符的优先级问题

    python中逻辑运算符的优先级问题 遇到的问题 今天做题的时候,碰到一个关于逻辑运算符优先级的问题,看到之后我懵...

  • 2018-06-11深入浅出ES6(扩展运算符)

    ...扩展运算符或Rest(剩余)运算符 此外货站运算符还可以解决数组的引用问题 上面这个例子说明了b是a的一个引...

  • PHP运算符优先级

    1、运算符的优先级问题,首先在此题中比较运算符>逻辑运算符>赋值2、先看 3>0为true,因为是||运算所以后面...

  • 4.3 逻辑运算符

    逻辑运算符通常用于条件判断,基本用法如下: 在处理逻辑运算符的问题上,需要特别注意几点: 一:优先级问题,建议参考...

网友评论

      本文标题:运算符问题

      本文链接:https://www.haomeiwen.com/subject/fwhdqltx.html