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

JavaScript按位运算符~

时间:2020-06-18 12:59:32      阅读:45      评论:0      收藏:0      [点我收藏+]

标签:技术   operator   return   bec   mic   png   按位运算   lock   example   

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按位运算符~

标签:技术   operator   return   bec   mic   png   按位运算   lock   example   

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

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