TypeScript 位运算符示例
2018-12-28 16:10 更新
TypeScript 位运算符示例
假设变量A = 2并且B = 3
运算符 | 描述 | 示例 |
---|---|---|
&(按位与) | 它对其整数参数的每一位执行Boolean“与”运算。 | (A&B)为 2 |
| (按位或) | 它对其整数参数的每一位执行Boolean“或”运算。 | (A | B)为 3 |
^(按位异或) | 它对其整数参数的每一位执行Boolean“异或”运算。异或意味着操作数1为true或操作数2为true,但两者不能同时为true。 | (A ^ B)为 1 |
〜(按位取反) | 这是一个一元运算符,并通过取反操作数中的所有位进行操作。 | (〜B)为 -4 |
<<(左移) | 它通过在第二个操作数指定的位数将第一个操作数中的所有位向左移动。新位用零填充。将一个值左移一个位置相当于将其乘以2,移位两个位置相当于乘以4,依此类推。 | (A << 1)为 4 |
>>(右移) | 二进制右移运算符。左操作数的值是由右操作数指定的位数来向右移动。 | (A >> 1)为 1 |
>>>(无符号右移) | 这个运算符就像>>运算符一样,只不过在左边移入的位总是为零。 | (A >>> 1)为 1 |
示例
var a:number = 2; // Bit presentation 10 var b:number = 3; // Bit presentation 11 var result; result = (a & b); console.log("(a & b) => ",result) result = (a | b); console.log("(a | b) => ",result) result = (a ^ b); console.log("(a ^ b) => ",result); result = (~b); console.log("(~b) => ",result); result = (a << b); console.log("(a << b) => ",result); result = (a >> b); console.log("(a >> b) => ",result);
在编译时,它将生成以下JavaScript代码:
//Generated by typescript 1.8.10 var a = 2; // Bit presentation 10 var b = 3; // Bit presentation 11 var result; result = (a & b); console.log("(a & b) => ", result); result = (a | b); console.log("(a | b) => ", result); result = (a ^ b); console.log("(a ^ b) => ", result); result = (~b); console.log("(~b) => ", result); result = (a << b); console.log("(a << b) => ", result); result = (a >> b); console.log("(a >> b) => ", result);
上述程序的输出如下:
(a & b) => 2 (a | b) => 3 (a ^ b) => 1 (~b) => -4 (a << b) => 16 (a >> b) => 0
以上内容是否对您有帮助:
更多建议: