JavaScript位运算符与,或,非或叫取反,异或,左位移,右位移 |
类别属性:程序Web开发 > Javascript/Html | 发布时间:2020/5/14 19:22:52 | 视频长度:00:08:21
位运算符与(&)、或(|)、非或叫取反(~)、异或(^)、左位移(<<)、右位移(>>), 将十进制转换成二进制,进行位移运算,返回结果为十进制。
与(&)用法:两个值都为1时返回1,两个值都为0时返回0,两个值任意一个为0,返回0.
或(|)用法:两个值任意一个为1时返回1,两个值为0时返回0.
非(~)用法:两个值都是1时,返回0;都是0时返回1;第一个值为1时返回0,第一个值为0时返回1.
异或(^)用法:两个值相等返回0,不相等时返回1.
左位移(<<):二进制向左移位,规则
高位移出(舍弃),低位的空位补零。示例:“5 << 1”,左位移的左边是变量,右边是位移数,1代表向左位移1位,2代表向左移两位,以此类推。
右位移(>>):二进制向右移位,规则低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。示例:“5 >> 1”,右位移的左边是变量,右边是位移数,1代表向右位移1位,2代表向右移两位,以此类推。
十进制转换成二进制:用2整除十进制整数,得到一个商和余数,用商继续除2,直到商为0时为止,每次余数排序写在右边,整除时写0,没有整除时写1,当商小于0时,下往上排列余数即是二进制结果。
javascript中十进制转化成二进制,可以直接用toString函数方法,示例:“(5).toString(2)”,这里将数字5转换成字符类型,但是须加入数字参数,二进制带入2,八进制带入8,十六进制带入16,以此类推。
javascript中二进制转化成十进制,可以用parseInt函数方法,示例:“parseInt(101, 2)”,这里第一个参数101的字符类型转化成数字类型,第二个参数2则是指定第一个参数的类型,如果是二进制指定为2,八进制指定为8,十六进制指定为16,以此类推。
注意事项:位移运算符中的非(~)和逻辑运算符中的非(!),有区别,位移运算非“~8=-9”,是数字转化成二进制后取反,1去反值为0,0取反值为1;逻辑运算非“!true”,值布尔条件取反,true取反为false,false取反为true。