zoukankan      html  css  js  c++  java
  • javascript 逻辑操作符

    JS按位与(&

    0001

    &

    0011

    ---

    0001

    只有两个数的值为1时,才返回1

    JS按位异或  ^

    0101 (expression1) 
    1100 (expression2) 
    ---- 
    1001 (结果) 

    当且仅当只有一个表达式的某位上为 1 时,结果的该位才为 1。否则结果的该位为 0。

    JS按位或  |

    0001

    |

    0011

     0011

    只要两个数中有一个数为1,结果就为1,其他则为0。

    按位非(~)

    按位非就是求二进制的反码:

    var num = 1; // 二进制 00000000000000000000000000000001

    var num1 = ~num; // 二进制 11111111111111111111111111111110

    我们知道,js中的数字默认是有符号的。有符号的32位二进制的最高位也就是第一位数字代表着正负,1代表负数,0代表整数。那到底11111111111111111111111111111110等于多少呢?最高位为1代表负数,负数的二进制转化为十进制:符号位不变,其他位取反加1。取反之后为10000000000000000000000000000001,加1之后为10000000000000000000000000000010,十进制为-2。

  • 相关阅读:
    go——数组
    go——流程控制
    go——基本类型
    go——基本构成要素
    go——常量
    go——变量
    go——标准命令
    go——工程结构
    python 优雅的使用正则表达式 ~ 1
    python 安装操作 MySQL 数据库.
  • 原文地址:https://www.cnblogs.com/ThomasEdison/p/6227341.html
Copyright © 2011-2022 走看看