关于位运算符的计算法方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于位运算符的计算法方法相关的知识,希望对你有一定的参考价值。

我们都知道位运算符比正常的运算符速度要快,但是为什么会快呢?首先我们正常的运算符也是通过计算机通过位运算调用栈来实现的。位运算符计算时,首先将运算量转化为2进制。

那么javascript位运算符有哪些呢?

1.          &      按位与                  

2.          |        按位或

3.          ^       按位异或

4.          ~      取反

5.    >>     按位左移

6.         >>     按位右移

说明:

(1)位运算符中除 ~ 外,均为二目运算符,即要求两侧各有一个运算量。

(2)运算只能是整型或字符型的数据,不能为实型数据。

 

1.按位与       &

左值与右值都为true,则为true,否则就为false。

console.log(5&7);//5

详解:

技术分享

2.按位或      |

左值与右值都为true,则为true,否则就为false。

console.log(5|7);//7  

详解:

技术分享

3.按位异     ^

若参与计算的两个二进位为同号则为0,异号则为1

console.log(true ^ true);//0

console.log(true ^ false);//1       

console.log(false ^ false);//0    

console.log(false ^ true);//1

详解:

技术分享

4.按位取反     ~

console.log(~2.5);//-3                取反之后向下取整

5.按位左移     <<

详解:例:5<<2    把二进制5向左推移两位,右边补0,也相当于是 5*2^2,向下取整。

console.log(5<<2);//20              5*x2*2=20  

6.按位右移     >>

详解:例:5>>2  把二进制5向右推移两位,左边补0,也相当于是5/2^2,向下取整。

console.log(5>>2);//1              5*/(2*2)=1.25    

以上是关于关于位运算符的计算法方法的主要内容,如果未能解决你的问题,请参考以下文章

位运算和关于两个数交换的多种方法

(计算机组成原理)第二章数据的表示和运算-第二节6:定点数除法运算(原码/补码一位除法)

关于位逻辑运算

请问怎样用加法-移位实现定点乘除法?

位运算基础

关于位运算的一个简单实例(~5)