美文网首页
js不常用位运算

js不常用位运算

作者: Raral | 来源:发表于2020-11-18 21:48 被阅读0次
// 十进制 => 二进制
//整数部分 除2取余法 从下往上; 小数部分 乘2取整  从上往下
// xx
// js位操作
// 1. &(与)
// 都是1才是1
/**
* 例如: 14&15
*  14 二进制 => 1110
*  15 二进制 => 1111
*  
*   & 结果  =>  1110 => 1*2^3 + 1*2^2 + 1*2^1 + 0*2^0 = 14  
* 
*/
console.log(14&15)//14


//2. |(或)
//有一个1就是1
/**
* 列如: 14|15
*  14 二进制 => 1110
*  15 二进制 => 1111
* 
*  | 结果   =>  1111 => 1*2^3 + 1*2^2 + 1*2^1 + 1*2^0 = 15
*/
console.log(14|15)//15

//3. ^(异或)
//不同就是1
/**
* 列如: 14|15
*  14 二进制 => 1110
*  15 二进制 => 1111
* 
*  ^ 结果   =>  0001 => 0*2^3 + 0*2^2 + 0*2^1 + 1*2^0 = 1
*/
console.log(14^15)//15

//4. ~(非)
//不同就是1
/**
说到这里就要科普一下了,JavaScript仅支持32位整型数

0变1,1变0

例如:~14(14  二进制  0000 0000 0000 0000 0000 0000 0000 1110

        ~的结果     1111 1111 1111 1111 1111 1111 1111 0001

最高位符号位为1,说明是个负数,大计基还记得嘛~~负数怎么来的

(正数二进制,取反,+1(为什么这样呢?因为计算机不擅长减法,所以把负数处理成补数,使得相减就等于他们的补数相加;而一个数的正负数取反相加是11111111...再+1才等于0,所以要+1))

逆过程,-1,取反

1111 1111 1111 1111 1111 1111 1111 0001 --> 0000 0000 0000 0000 0000 0000 0000 1111

----》15 ----》当然因为是个负数,最终结果是-15)
*/
console.log(~14)//-15

相关文章

  • js不常用位运算

  • 【转+补充】深入研究js中的位运算及用法

    转载自【博客园-不疯魔不成活】 《深入研究js中的位运算及用法》 什么是位运算? 位运算是在数字底层(即表示数字的...

  • 常用位运算

    位运算常见操作 判断奇偶 (x & 1) == 1 == x % 2 == 1判断奇数 (x & 1) == 0 ...

  • js位运算

    极简主义 位运算符是在数字底层(即表示数字的 32 个数位)进行操作的。 http://www.w3school....

  • Java--位运算符

      位运算指的是进行二进制位的运算,常用的位运算符如下所示。 位运算符   说明~       取反&     ...

  • C 语言中的位运算符

    位运算的性能高,常用的位运算符 & 、 | 、 ^ 、~ 、 << 、 >> 、 >>> & 按位与 如果两个...

  • js基础了解

    js数组常用遍历方法使用: js数组常用操作方法使用: 基本逻辑运算: 基本字符串操作方法:

  • js成神之路:目录

    目录 第一章:js常用易错运算符 第二章:js函数特性

  • Python 入门之常用运算符

    Python中的运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算 1、常用运算符...

  • Javascript 位运算及运用

    Javascript 位运算 参考:巧用JS位运算 ECMAScript 整数有两种类型,即有符号整数(允许用正数...

网友评论

      本文标题:js不常用位运算

      本文链接:https://www.haomeiwen.com/subject/tjnzvktx.html