TypeScript 位運算符示例

2018-12-28 16:10 更新

TypeScript 位運算符示例

假設(shè)變量A = 2并且B = 3

運算符描述示例
&(按位與)它對其整數(shù)參數(shù)的每一位執(zhí)行Boolean“”運算。(A&B)為 2
| (按位或)它對其整數(shù)參數(shù)的每一位執(zhí)行Boolean“”運算。(A | B)為 3
^(按位異或)它對其整數(shù)參數(shù)的每一位執(zhí)行Boolean“異或”運算。異或意味著操作數(shù)1為true或操作數(shù)2為true,但兩者不能同時為true。(A ^ B)為 1
?(按位取反)這是一個一元運算符,并通過取反操作數(shù)中的所有位進(jìn)行操作。(?B)為 -4
<<(左移)它通過在第二個操作數(shù)指定的位數(shù)將第一個操作數(shù)中的所有位向左移動。新位用零填充。將一個值左移一個位置相當(dāng)于將其乘以2,移位兩個位置相當(dāng)于乘以4,依此類推。(A << 1)為 4
>>(右移)二進(jìn)制右移運算符。左操作數(shù)的值是由右操作數(shù)指定的位數(shù)來向右移動。(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
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號