Javascript 补位运算符

看到一个题目~~3.14得到是3,一下子有点蒙,之前在Javascript中完全没有见过~这个运算符。经查才知道~是补位运算符,但是跟原码反码补码又有点不同(在反码这一块,不记正负),好吧,大学的东西都还给老师了。

 

举个简单点的例子吧。~2 = -3,看看怎么得出这个结果的:

 

2的二进制是:

0000 0010

将它简单翻转:

1111 1101

 

接下我们看看怎么得出 -3。先给出3的二进制:

0000 0011

翻转:

1111 1100

加1:

1111 1101

 

因此,运算符~只是翻转所有比特位,再由机器来解析结果。

 

PS. 有个更便捷的方式来计算: ~n = -n-1

Javascript 补位运算符,布布扣,bubuko.com

Javascript 补位运算符

上一篇:试试把报警日志发到微信上


下一篇:[Java,MVC] SpringMVC+Spring+hibernate 框架