阅读 215

逻辑运算符和位运算符

逻辑运算符和位运算符

逻辑运算符和位运算符

逻辑运算符

逻辑与(&&)

逻辑或(||)

位运算符

按位与运算符(&)

按位或运算符(|)

逻辑运算符

逻辑与(&&)

逻辑运算符(与),只有两个运算数都为true是才是true,其他则为false。


逻辑或(||)

逻辑运算符(或),如果其中一个或两个操作数都是真值,返回真值,如果两个操作数都是假值,返回假值。


注意:逻辑与和逻辑或都是先计算左操作数,在计算右操作数。逻辑与左操作数计算结果是假值时,则返回假值,无需计算右操作数,逻辑或左操作数计算结果是真值时,则返回真值,无需计算右操作数。


位运算符

&和|原本是本位运算符,但是js是无类型的语言、各数据类型可以自由转换,所以当(&)和(|)做“逻辑运算”的时候,true被转换成1,false被转换成0,再进行按位运算。


按位与运算符(&)

按位与运算符(&)是双目运算符。 其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。


//3的二进制是011,5的二进制是101,011&101是001  结果:1

console.log(3&5)

//10的二进制是1010,15的二进制是1111  1010&1111是1010  结果:10

console.log(10&15)

//6的二进制是0000110,100的二进制是1100100 0000110&1100100是0000100 结果是:4

console.log(6&100)

console.log(true&false)//true转为1,false转为0,1&0是0,结果是:0

console.log(false&false)//false转为0,0&0是0,结果是:0

console.log(null&1)//null转为0,0&1是0,结果是:0

1

2

3

4

5

6

7

8

9

按位或运算符(|)

按位或运算符(|)是双目运算符。 其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。


console.log(1|5)//1的二进制001,5的二进制是101,001|101是101  结果:5

console.log(true|false)//true转为1,false转为0,1|0是1,结果是:1

console.log(false|false)//false转为0,0|0是0,结果是:0

console.log(null|1)//null转为0,0|1是1,结果是:1

1

2

3

4

注意:按位运算符与或且在两个操作数比较时,如果转换成的二进制位数不同,则在末尾用0补齐即可。

十进制转二进制:


var num=15;

console.log(num.toString(2))//1111

1

2

二进制转十进制


var num='0000100';

console.log(parseInt(num,2))//4

————————————————

版权声明:本文为CSDN博主「辣辣的草莓酱」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_38233549/article/details/89032452


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐