移位运算是指对二进制进行规则的低移位。 移位运算可以设计出许多奇怪的效果,被广泛应用于图形图像编程中。
「
「
将数字5向左移动两位,返回值为20。
控制台. log (52; //返回值20
“”运算符
“”运算符执行有符号右移运算。 与左移运算相反,将32位数字的所有有效位整体右移,用符号位的值填充空位。 移动中超过的值将被丢弃。
如果将数字1000向右移动8位,则返回值为3。
控制台. log (10008; //返回值3
如果将数值-1000向右移动8位,则返回值为-4。
控制台. log (-10008; //返回值-4
“”运算符
“”运算符执行5个符号的右移位运算。 将无符号32位整数的所有位整体向右移位。 对于无符号数或正数右移运算,无符号右移运算和有符号右移运算的结果相同。
以下两行公式的返回值相同。
控制台. log (10008; //返回值3
控制台. log (10008; //返回值3
对于负数,无符号右移使用0填充所有空格,将负数视为正数,结果非常大,因此在使用无符号右移运算符时要十分小心,以避免意外错误。
控制台. log (-10008; //返回值-4
控制台. log (-10008; //返回值16777212