TypeScript 位運算子示例



假設變數 A = 2,B = 3

運算子 描述 示例
& (按位與) 對每個整數引數的每個位執行布林與運算。 (A & B) 為 2
| (按位或) 對每個整數引數的每個位執行布林或運算。 (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
typescript_operators.htm
廣告