TypeScript 位运算符示例

TypeScript 位运算符示例

假设变量A = 2,变量B = 3

操作符 描述 示例
& (按位与) 对其整数参数的每个位执行布尔AND操作。 (A & B) 是 2
| (按位或) 对其整数参数的每个位执行布尔OR操作。 (A | B) 是 3
^ (按位异或) 对其整数参数的每个位执行布尔异或操作。异或是指操作数一为真或操作数二为真,但不能同时为真。 (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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程