二进制,了解计算机的源头
WechatIMG43.jpeg二进制的位操作:
向左移位二进制左移一位,就是将数字翻倍
// javascript左移运算符<<
53 << 1; // 106
53 << 2; // 212
// javascript左移赋值运算符<<=
var temp = 53;
temp <<= 2; // temp = 212
向右位移
二进制右移一位就是将数字除以2并求整数商。右移位有两种表达方式>>,>>>。因为在javaScript,JAVA的二进制中最高位为符号位。当符号号为0时表示正数,当符号为1时表示负数。
算术右移(>>)算数右移时保持符号位不变,除符号之外的右移一位并补0,补的0仍然在符号位之后。
// javascript右移位运算符>>
53 >> 1 // 26
212 >> 3 // 26
-53 >> // -27
-212 >> 3 // -27
// javascript右移赋值运算符<<=
var temp = 53;
temp >>= 2; // temp = 13
逻辑右移(>>>)
逻辑右移1位,左边补0即可。
// javascript无符号右移位运算符>>>
53 >>> 1 // 26
212 >>> 3 // 26
-53 >>> 1 // 2147483621
-212 >>> 3 // 536870885
// javascript无符号右移位赋值运算符>>>
var temp = 53;
temp >>>= 2; // temp = 13
位的"异或"
两个数值按位异或结果为0,是这两个数值相等的必要充分条件,可以作为判断两个变量是否相等的条件。
位的异或
网友评论