TypeScript 運算符

應用場景(待完善)

位運算符

運算符 描述 例子 相似於 結果 十進制
& AND,按位與處理兩個長度相同的二進制數,兩個相應的二進位都爲 1,該位的結果值才爲 1,不然爲 0。 x = 5 & 1 0101 & 0001 0001 0001  1
| OR,按位或處理兩個長度相同的二進制數,兩個相應的二進位中只要有一個爲 1,該位的結果值爲 1。 x = 5 | 1 0101 | 0001 0101  5
~ 取反,取反是一元運算符,對一個二進制數的每一位執行邏輯反操做。使數字 1 成爲 0,0 成爲 1。 x = ~ 5  ~0101 1010  -6
^ 異或,按位異或運算,對等長二進制模式按位或二進制數的每一位執行邏輯異按位或操做。操做的結果是若是某位不一樣則該位爲 1,不然該位爲 0。 x = 5 ^ 1 0101 ^ 0001 0100  4
<< 左移,把 << 左邊的運算數的各二進位所有左移若干位,由 << 右邊的數指定移動的位數,高位丟棄,低位補 0。 x = 5 << 1 0101 << 1 1010  10
>> 右移,把 >> 左邊的運算數的各二進位所有右移若干位,>> 右邊的數指定移動的位數。 x = 5 >> 1 0101 >> 1 0010 2
>>> 無符號右移,與有符號右移位相似,除了左邊一概使用0 補位。 x = 2 >>> 1 0010 >>> 1 0001 1

實例

var a:number = 2;   // 二進制 10 
var b:number = 3;   // 二進制 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);
 
result = (a >>> 1); 
console.log("(a >>> 1) => ",result);

  使用 tsc 命令編譯以上代碼獲得以下 JavaScript 代碼javascript

var a = 2; // 二進制 10 
var b = 3; // 二進制 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);
result = (a >>> 1);
console.log("(a >>> 1) => ", result);
相關文章
相關標籤/搜索