zoukankan      html  css  js  c++  java
  • 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 代码

    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);
    

      

  • 相关阅读:
    最大子段和问题
    moore voting algorithm for majority element in vector
    linux命令 wget
    一道简单的局部链表反转的问题,具体解决时的麻烦的分类
    20145215《网络对抗》Exp2 后门原理与实践
    20145215《网络对抗》shellcode注入&Return-to-libc攻击深入
    20145215卢肖明《网络对抗》逆向及Bof基础
    20145215《信息安全系统设计基础》课程总结
    20145215&20145307《信息安全系统设计基础》实验五 网络通信
    20145215《信息安全系统设计基础》第十四周学习总结
  • 原文地址:https://www.cnblogs.com/bwlluck/p/10748294.html
Copyright © 2011-2022 走看看