zoukankan      html  css  js  c++  java
  • 移位

    1 .  左移运算符和右移运算符

         int number = 20;        //  0001 0100
            number = number << 1;   //  0010 1000   40    左移运算符
         
         number = 20;       // 0001 0100 number = number >> 1;  // 0000 1010 10 右移运算符

    2. 无符号位右移  :  表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0,变为正数

                                  没有无符号左移也就是没有 <<< 这个符号

    int number = -20;      //  1110 1100   -20
    number = number << 1; // 1101 1000 -40

    number = -20;      // 1110 1100 -20
    number = number >> 1; // 1111 0110 -10

    number = -20;          //  1110 1100   -20
    number = number >>>1; // 0111 0110 118

    3.  ^ 是位异或运算符

    a ^= b;   相当于 a = a^b   a = 5; b=4; 
    相当于 (101)^(100) = 001 a = (001) = 1

     4.  &,双目运算符:将两个表达式的值按二进制位展开,对应的位(bit)按值进行“与”运算,结果保留在该位上

    ①: 该位只要有一个值为0结果为0,否则结果为1。
    ②: 如果两数位数不同,则较短数高位补零,再运算

    170&204 = 1010 1010 & 1100 1100 = 1000 1000 = 136

     5.  a<<=n 等价于a=a<<n

  • 相关阅读:
    装饰设计模式
    Enum的基本使用
    java根据文件流判断文件类型(后缀名)
    Java正则表达式的用法
    java遍历Map
    java操作json
    struts2+ajax+jquery
    Hibernate注解
    oracle经典建表语句--scott建表
    Struts2 ui标签
  • 原文地址:https://www.cnblogs.com/an5211/p/7776897.html
Copyright © 2011-2022 走看看