zoukankan      html  css  js  c++  java
  • javascript中的位运算,

    罗浮宫群里又有讨论位运算符号|了,做过一段时间php,数据库保存布尔值数据经常用到,比如100110 就表明了六个属性的是与否,极大减少了数据量。、】

    ECMAScript 中位运算跟其他语言一样的。比如:

    console.log(3|10)   =>  11

    3转为2进制是   (3).toString(2)   =》 11   其实应该是32位,但后两位即可表明数值,但取反会使用到   0000 0000 0000 0000 0000 0000 0000 0011

    10转为2进制是   (10).toString(2)   =》 1010

    11 转为2进驻是 (11).toString(2) =》 1011

     

    而|,是按位或,  每个数字对比,其中一个有1,则取1,两个全为0取0

        11

    1010

    对比可得到  1011 转为10进制就是11

    如果是按位与呢?  每个数字一样则取1,反之取0,会得到二进制的10,因为只有倒数第二位一样,取为1,最后一位取0.   转为10进制就是2。  //console.log(3&10)

    其他按位异或,取反,左移,右移,都是对二进制位的操作,例子:

    ~3  =>  -4 。  每位取反得到 1111 1111 1111 1111 1111 1111 1111 1100 (2)  =    -100  (2)  = -4 (10)

    3^10      (11 对比 1010) 取出两者每位只有1个数位,结果是  1001   得到9

    还有左移右移,详细可参考W3C位运算符  http://www.w3school.com.cn/js/pro_js_operators_bitwise.asp

  • 相关阅读:
    linux-shell编程-1-简介
    linux-tail
    linux-grep
    linux-sort
    linux-sed
    linux-awk
    函数调用
    选择结构和循环结构
    列表字典集合常用函数
    datetime模块
  • 原文地址:https://www.cnblogs.com/henryli/p/3437292.html
Copyright © 2011-2022 走看看