javascript位运算-javascript中哪些是按位运算符

在javascript中javascript位运算,按位运算符是用于对二进制位进行操作的符号,将二进制位从高到低对齐后即可进行操作。 JavaScript 支持的按位运算符有:""、"|"、"^"、"~"、""、""、"

在javascript中javascript位运算,按位运算符是用于对二进制位进行操作的符号,将二进制位从高到低对齐后即可进行操作。 JavaScript 支持的按位运算符有:“&”、“|”、“^”、“~”、“”、>>>>”。

本教程的运行环境:windows7系统,javascript1.8.5版本,戴尔G3笔记本。

在 JavaScript 中,按位运算符是用于对二进制位进行运算的符号。

按位运算符将二进制位从高到低对齐后即可进行运算。

JavaScript 支持的按位运算符如下表所示:

运算符 说明 举例 & 按位与:如果对应的二进制位全为 1,则该二进制位为 15 & 1 相当于 0101 & 0001 结果为 0001,十进制结果为 1|按位或:如果对应的二进制位有 1 为 1,则二进制位为 15 | 1 相当于 0101 | 0001 结果为 0101,十进制结果为 5^按位异或: 如果对应的二进制位只有一位为 1,则二进制位为 15^1 等价于 0101^0001 结果为 0100,十进制结果为 4 ~按位非:将所有二进制位取反,即1转为0,0转为1~5相当于~0101结果为1010,十进制结果为-6 1相当于0101>>1,结果为0010,十进制结果为2>>>按位右移零(无符号右移):所有二进制位统一右移连接指定位数,最右边加05> >> 1 相当于 0101 >>> 1 结果为 0010,十进制为 2

按位运算符共有 7 个,分为两类:

逻辑按位运算符(&、|、^ 和 ~)

javascript位运算_运算位是指_运算位置错误的题目有哪些

逻辑位运算符和逻辑运算符的运算方法是相同的,只是针对不同的对象。 逻辑按位运算符对二进制整数值进行运算,而逻辑运算符对非二进制值进行运算。

“&“ 操作员

“&”运算符(位与)用于将两个二进制操作数逐位比较,并根据下表所示的转换表返回结果。

“&”运算符第一个数字的位值 第二个数字的位值 运算结果为 111100010000

在按位运算中,值 1 表示 true,0 表示 false,反之亦然。

12 和 5 按位与,返回值为 4。

console.log(12 & 5);  //返回值4

下图以公式的形式分析了12和5按位与运算的过程。 通过位与运算,只有第三位的值全为true,所以返回true,其他位返回false。

“|” 操作员

“|” 运算符(位或)用于将两个二进制操作数逐位比较,并根据表所示的转换表返回结果。

“|”第一个数字的位值运算符 第二个数的位值 运算结果为 111101011000

12 和 5 按位或运算,返回值为 13。

console.log(12 | 5);  //返回值13

下图以公式的形式分析了12和5之间的位或运算的过程。 通过按位或运算,除了第二位的值为假外,其他位都返回真。

“^”运算符

“^”运算符(位异或)用于将两个二进制操作数逐位比较,并根据表所示的转换表返回结果。

“^”运算符 第一个数字的位值 第二个数字的位值运算结果 110101011000

12 和 5 进行位异或运算,返回值为 9。

console.log(12 ^ 5);  //返回值9

下图以公式的形式分析了12和5之间的位异或运算的过程。 通过位异或运算,第1位和第4位的值为真,第2位和第3位的值为假。

“~”运算符

“~”运算符(按位非)用于将二进制操作数逐位取反。

对12进行按位非运算,返回值为-13。

console.log( ~ 12 );  //返回值-13

下图以公式的形式分析了12的按位非运算的过程。

按位非运算实际上是将数字取反,然后减 1。例如:

javascript位运算_运算位是指_运算位置错误的题目有哪些

console.log( ~ 12 == 12-1);  //返回true

移位运算符(和>>>)

移位操作是对二进制进行常规的低位移位。 移位操作可以设计出许多奇妙的疗效,广泛应用于图形图像编程中。

“”运算符执行有符号右移运算。 与左移操作相反,它将 32 位数字中的所有有效位右移,并用符号位的值填充间隙。 移动过程中超过的值将被丢弃。

将值 1000 右移 8 位,返回值为 3。

console.log(1000 >> 8);  //返回值3

用公式来演示,如图。

将值-1000右移8位,返回值为-4。

console.log(-1000  >> 8);  //返回值 -4

运算位是指_javascript位运算_运算位置错误的题目有哪些

用公式来演示,如图。 当符号位值为1时,有效位两边空位全部补为1。

">>>" 运算符

">>>" 运算符执行五符号右移运算。 它将无符号 32 位整数的所有数字右移。 对于无符号或负右移运算,无符号右移运算的结果与有符号右移运算的结果相同。

下面两个表达式的返回值是相同的。

console.log(1000 >> 8);  //返回值3
console.log(1000 >> 8);  //返回值3

对于正数,无符号右移会用0来填补所有的空缺,并且会把正数当作负数,结果会很大。 因此,使用无符号右移运算符时要非常小心,以免发生意外错误。

console.log(-1000 >> 8);  //返回值 -4
console.log(-1000 >>> 8);  //返回值 16777212

用公式来演示,如图。 左侧空间不再填充符号位的值,而是填充零。