码迷,mamicode.com
首页 > 编程语言 > 详细

javascript 逻辑操作符

时间:2016-12-27 20:29:27      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:expr   表达式   符号   操作   异或   其他   express   逻辑操作   进制   

JS按位与(&

0001

&

0011

 

---

0001

只有两个数的值为1时,才返回1

JS按位异或  ^

0101 (expression1) 
1100 (expression2) 
---- 
1001 (结果) 

当且仅当只有一个表达式的某位上为 1 时,结果的该位才为 1。否则结果的该位为 0。

JS按位或  |

0001

|

0011

 0011

只要两个数中有一个数为1,结果就为1,其他则为0。

按位非(~)

按位非就是求二进制的反码:

var num = 1; // 二进制 00000000000000000000000000000001

var num1 = ~num; // 二进制 11111111111111111111111111111110

我们知道,js中的数字默认是有符号的。有符号的32位二进制的最高位也就是第一位数字代表着正负,1代表负数,0代表整数。那到底11111111111111111111111111111110等于多少呢?最高位为1代表负数,负数的二进制转化为十进制:符号位不变,其他位取反加1。取反之后为10000000000000000000000000000001,加1之后为10000000000000000000000000000010,十进制为-2。

 

javascript 逻辑操作符

标签:expr   表达式   符号   操作   异或   其他   express   逻辑操作   进制   

原文地址:http://www.cnblogs.com/ThomasEdison/p/6227341.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!