javascript如何进行按位求反

发布时间:2021-12-07 12:38:10 作者:小新
来源:亿速云 阅读:183

这篇文章主要为大家展示了“javascript如何进行按位求反”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javascript如何进行按位求反”这篇文章吧。

在javascript中,可以利用“~”操作符来实现按位求反,语法“~ 运算数”;“~”操作符可以将指定运算数转为二进制整数形式,并对该二进制操作数逐位进行取反操作。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

在javascript中,可以利用“~”操作符来实现按位求反。如~1 = -2,~-3=2,~true=-2,~false=-1

“~”操作符可以查看指定值的二进制表示形式,并对该二进制操作数逐位进行取反操作

对 12 进行位非运算,则返回值为 -13。

console.log( ~ 12 );  //返回值-13

下图以算式的形式解析了对 12 进行位非运算的过程。

javascript如何进行按位求反

如何按位取反计算

  按位取反的运算规则步骤:

  1、十进制转成原码

  转成二进制原码,最高位是符号位,0为正数,1为负数

    十进制   ---->  原码
      1   ---->  00000001
     -1   ---->  10000001
  2、原码转成反码

  正数的反码就是原码,负数的反码是符号位不变,其余位取反

    十进制  ---->   原码    ---->  反码
      1    ----> 00000001 ----> 00000001
     -1    ----> 10000001 ----> 11111110
  3、反码转成补码

  正数的补码还是原码,负数的补码是在反码的基础上加1

    十进制  ---->    原码   ---->   反码   ---->  补码
      1    ----> 00000001 ----> 00000001 ----> 00000001
     -1    ----> 10000001 ----> 11111110 ----> 11111111
  4、补码取反得原码

  正整数补码取反之后符号位置为1,是一个负整数,所以再按照负整数计算补码的方式逆运算得到原码

  逆运算得到原码,首先将取反的补码转成反码,公式:反码=补码 - 1,然后将反码转成原码,符号位不变,其他位取反

  十进制  ---->    原码    ---->   反码    ---->   补码     ---->  补码取反   ---->  取反补码转成反码  ---->  转成原码
    1   ----> 00000001  ----> 0000001  ---->  00000001  ----> 11111110   ---->   11111101    ---->  10000010

  负整数补码取反之后符号位置为0,是一个正整数,因正整数的反码与补码就是本身,所以不需要再进行逆运算

  十进制  ---->    原码    ---->   反码     ---->   补码      ---->   补码取反得原码  
    -1  ---->  10000001  ----> 11111110  ---->  11111111   ---->     00000000    
  5、将原码转成二进制
 十进制  ---->    原码    ---->   反码    ---->   补码     ---->  补码取反   ---->  取反补码转成反码  ---->  转成原码  ---->  转成二进制
    1   ----> 00000001  ----> 0000001  ---->  00000001  ----> 11111110   ---->   11111101    ---->  10000010 ---->   -2
  十进制  ---->    原码    ---->   反码     ---->   补码      ---->   补码取反得原码   ---->  转成二进制
    -1  ---->  10000001  ----> 11111110  ---->  11111111   ---->    00000000     ---->     0

  所以,~1=-2,~-1=0

取反再取反~~的作用

  操作符~, 是按位取反的意思,表面上~~(取反再取反)没有意义,实际上在JS中可以将浮点数变成整数。

 console.log(~~1.11);          //1
 console.log(~~-25.11);       //-25

以上是“javascript如何进行按位求反”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. 数组排序,不满三位数值的按照原来的位数进行比较,超过三位的取后面三位进行比较
  2. 使用JavaScript怎么隐藏号码的中间4位

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

javascript

上一篇:python的赋值语句和基本输入输出怎么实现

下一篇:Hyperledger fabric Chaincode开发的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》