美文网首页
&:按位与、|:按位或、^:按位异或、~:按位取反

&:按位与、|:按位或、^:按位异或、~:按位取反

作者: R_X | 来源:发表于2018-06-01 14:10 被阅读0次

主要针对于整数运算(转换成二进制)。

&:按位与:对应位都是1 则返回 1;只要有一个不是1 则返回 0;
|:按位或:对应位只要有一个是1 就返回1;都不是1则返回0;
^:按位异或:对应位必须一个是1一个是0才返回1;否则返回0;
~:按位取反:对应位1变0,0变1;(对于10进制-->巧记:当前数值 + 1 取反。)

##  &
00000001 & 00000011 = 00000001

## |
00000001 | 00000011 = 00000011

## ^
00000001 ^ 00000010 = 00000011
00000001 ^ 00000011 = 00000010

##~   :对于10进制(加1取反)
~2 = -3
~-3 = 2

一、使用 & 判断奇偶性

// 因为:奇数 & 1 = 1; 偶数 & 1 = 0; 所以:
function fun(param) {
  if(param & 1) 
    return alert('奇数');
  alert('偶数');
}

二.左移位运算符

把整数a的各二进位全部左移n位,高位丢弃,低位补0。左移n位其实就是乘以2的n次方
由于左移是丢弃最高位,0补最低位,所以符号位也会被丢弃,左移出来的结果值可能会改变正负性

2<<1; //相当于 2 *= 2 // 4

2<<2; //相当于 2 *= 2^2; // 8

应用场景
快速计算一个数乘以2的n次方

三.右移位运算符

把整数a的各二进位全部右移n位,保持符号位不变。右移n位其实就是除以2的n次方
为正数时, 符号位为0,最高位补0
为负数时,符号位为1,最高位是补0或是补1
取决于编译系统的规定

2>>1; //相当于 2 /= 2 // 1

4>>2; //相当于 4 /= 2^2 // 1

应用场景
快速计算一个数除以2的n次方

相关文章

  • &:按位与、|:按位或、^:按位异或、~:按位取反

    主要针对于整数运算(转换成二进制)。 &:按位与:对应位都是1 则返回 1;只要有一个不是1 则返回 0;|:按位...

  • 按位与(&)按位或(|)按位异或(^)按位取反(~)左移

    看源码期间遇到了取反(~),就做个记录。 基础知识: 1. and(&)运算 (按位与) and运算通常用于二进制...

  • ios 中的位运算

    位运算的符号:~ | & ^ << >>分别代表的是按位取反,按位或,按位与,按位异或,左移,右移 按位取反操作 ...

  • ~ 按位取反<< 左移 右移<<= 左移并赋值= 右移并赋值& 按位与^ 按位异或| 按位或&= 按位与赋值^...

  • 位运算

    名称符号 按位与 & 按位或 | 按位异或 ^ 按位取反 ~ 左移运算 << 右移运算 >> &按位与的用法(相同...

  • C、数据结构知识点

    1. 位运算符有: &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 其中,按位取反运算符是单目运算...

  • 位运算:包括按位与(&)、按位或(|)、异或(^)、按位取反(~)以及移位(<<,>>)。“与”同为‘1’为‘...

  • 位运算

    右移>> 左移<< 按位或 | 按位与 & 按位异或 ^ 按位取反~ 异或运算 x^0 = 0;x^1s = ~x...

  • js 中位运算的应用

    按位运算符有6个: 按位与 & 按位或 | 按位异或 ^ 取反 ~ 右移 >> 左移 << 应用...

  • 位运算(了解)

    本篇文章仅作为了解 位运算 & 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 按位与 & 一...

网友评论

      本文标题:&:按位与、|:按位或、^:按位异或、~:按位取反

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