首页 > 编程语言 > 详细

JavaScript按位运算符~

时间:2020-06-18 12:57:52      阅读:56      评论:0      收藏:0      [点我收藏+]

1. JavaScript按位运算符

Bit operators work on 32 bits numbers.

技术分享图片

2. JavaScript按位运算符~

值得注意的是,在JavaScript中,~5的值是-6,而不是10
技术分享图片

The examples above uses 4 bits unsigned examples. But JavaScript uses 32-bit signed numbers.
Because of this, in JavaScript, ~ 5 will not return 10. It will return -6.
~00000000000000000000000000000101 will return 11111111111111111111111111111010

那么问题来了,为什么11111111111111111111111111111010等于-6?不妨先了解一下负数的二进制表示。
负数的绝对值的二进制表示为原码,对原码取反得到补码,负数的二进制表示就是该补码加1。
所以,-6的原码是00000000000000000000000000000110,补码是11111111111111111111111111111001,补码加1就是11111111111111111111111111111010

那么由11111111111111111111111111111010-6就是逆操作而已。

JavaScript按位运算符~

原文:https://www.cnblogs.com/gzhjj/p/13156750.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!