美文网首页
js '|' 和 '&' 运算

js '|' 和 '&' 运算

作者: 凡凡的小web | 来源:发表于2018-12-03 09:29 被阅读0次

    单竖杠的运算规则

    “|”表示按位或,就是把两个二进制数按每一位比较,当两边都为假时返回值为0,当一边为真时返回值为1 

    看了上面的例子,大体知道单竖杠可以进行取整运算,就是只保留正数部分,小数部分通过拿掉,但是“|0”,又是如何进行运算的呢,为什么能“|0”能达到取整的目的呢?单竖杠不是0有会是多少呢?

    带着这些问题,我们看下面例子:

    console.log(3|4); //7

    console.log(4|4);//4

    console.log(8|3);//11

    console.log(5.3|4.1);//5

    console.log(9|3455);//3455

    这里面提到了单竖杠“|”但是没有javascript的。

    好吧,我在这里公布答案吧。其实单竖杠“|”就是转换为2进制之后相加得到的结果。例如我们拿简单的举例:

    3|4

    转换为二进制之后011|100  相加得到111=7

    4|4

    转换为二进制之后100 |100  相加得到100=4

    8|3

    转换为二进制之后1000 |011  相加得到1011=11

    以此类推,我在这里就不一一列举了,单竖杠“|”运算就是转换为2进制之后相加得到的结果!

    '&'表示运算符按位与,就是把两个二进制数按每一位比较,两个都为1则为1,否则为0(也类似与且,都真才为真),TRUE的话就是1,FALSE的话就是0

        var b=0;

        var a=(1-1==1)&(++b==1);

        alert(a);//0   

        alert(b);//1

    相关文章

      网友评论

          本文标题:js '|' 和 '&' 运算

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