• JAVA中的>>和>>>号以及<<号的作用


     1     public static void main(String[] args) {
     2         
     3         //右移2位,输出结果为2。二进制1000右移2位变为0010
     4         System.out.println(8>>2);
     5         //等同于 8除以2的3次方,即8/Math.pow(2,3)。输出为1
     6         System.out.println(8>>>3);
     7         
     8         //左移2位,输出结果为8。二进制0010左移2位变为1000
     9         System.out.println(2<<2);
    10         //语法错误,不支持
    11         System.out.println(8<<<3);
    12         
    13     }

    1、 >>带符号右移。正数右移高位补0,负数右移高位补1
    快速记忆:相当于除以一个值,正数除完后最小值为0,负数除完最大值为-1

    2、 >>>无符号右移。无论是正数还是负数,高位通通补0
    快速记忆:正数相当于除以一个值,最小值为0
    负数比较麻烦,暂时没有找到快速记忆方法,有同学知道的可以告知

    3、 <<表示左移,不分正负数,低位补0

    快速记忆:不管正负数,相当于乘以一个数

     1 public static void main(String[] args) {
     2         // >>带符号右移。正数右移高位补0,负数右移高位补1
     3         System.out.println("====================== >>带符号右移 =========================================");
     4         System.out.println("----------------正数举例----------------------");
     5         // 8的2进制表示为1000
     6         System.out.println(Integer.toBinaryString(8));
     7         // 输出向右移动两位
     8         System.out.println(8>>2);
     9         // 输出向右移动两位的二进制0010   即:十进制的2
    10         System.out.println(Integer.toBinaryString(8>>2));
    11         System.out.println("-----------------正数超出位数举例---------------------");
    12 
    13         System.out.println(Integer.toBinaryString(8));
    14         System.out.println(8>>6);
    15         System.out.println(Integer.toBinaryString(8>>6));
    16 
    17         System.out.println("----------------负数举例----------------------");
    18         System.out.println(Integer.toBinaryString(-8));
    19         System.out.println(-8>>2);
    20         System.out.println(Integer.toBinaryString(-8>>2));
    21         System.out.println("-----------------负数超出位数举例---------------------");
    22 
    23         System.out.println(Integer.toBinaryString(-8));
    24         System.out.println(-8>>6);
    25         System.out.println(Integer.toBinaryString(-8>>6));
    26         // >>>无符号右移。无论是正数还是负数,高位通通补0
    27         System.out.println("====================== >>>无符号右移 =========================================");
    28         System.out.println("----------------正数举例----------------------");
    29         System.out.println(Integer.toBinaryString(8));
    30         System.out.println(8>>>2);
    31         System.out.println(Integer.toBinaryString(8>>>2));
    32         System.out.println("-----------------正数超出位数举例---------------------");
    33 
    34         System.out.println(Integer.toBinaryString(8));
    35         System.out.println(8>>>6);
    36         System.out.println(Integer.toBinaryString(8>>>6));
    37 
    38         System.out.println("----------------负数举例----------------------");
    39         System.out.println(Integer.toBinaryString(-8));
    40         System.out.println(-8>>>2);
    41         System.out.println(Integer.toBinaryString(-8>>>2));
    42         System.out.println("-----------------负数超出位数举例---------------------");
    43         System.out.println(Integer.toBinaryString(-8));
    44         System.out.println(-8>>>6);
    45         System.out.println(Integer.toBinaryString(-8>>>6));
    46         // <<表示左移,不分正负数,低位补0
    47         System.out.println("====================== <<左移 =========================================");
    48         System.out.println("----------------正数举例----------------------");
    49         System.out.println(Integer.toBinaryString(8));
    50         System.out.println(8<<2);
    51         System.out.println(Integer.toBinaryString(8<<2));
    52 
    53         System.out.println("----------------负数举例----------------------");
    54         System.out.println(Integer.toBinaryString(-8));
    55         System.out.println(-8<<2);
    56         System.out.println(Integer.toBinaryString(-8<<2));
    57     }
  • 相关阅读:
    Mysql Window 解压版卸载
    maven jdk 版本配置
    单点登录原理与简单实现
    JAVA HASHMAP的死循环
    Intellij IDEA 4种配置热部署的方法
    springmvc 返回 404 解决
    设计模式 -- 模版模式
    安装Oracle Database 11g 找不到文件“WFMLRSVCApp.ear” .
    红黑树 -- 增删查改
    TIJ -- CountDownLatch
  • 原文地址:https://www.cnblogs.com/liangzs/p/6734084.html
Copyright © 2020-2023  润新知