zoukankan      html  css  js  c++  java
  • Java中'&'与、'|'或、'^'异或、'<<'左移位、'>>'右移位

     1 public static void main(String[] args) {
     2         /*
     3          * &:与运算
     4          *     全为1则为1,否则为0
     5          */
     6         System.out.print(1 & 0);
     7         System.out.print("--");
     8         System.out.print(1 & 1);
     9         System.out.print("--");
    10         System.out.println(0 & 0);
    11         // out:0--1--0
    12         
    13         /*
    14          * |:或运算
    15          *     全为0则为0,否则为1
    16          */
    17         System.out.print(1 | 0);
    18         System.out.print("--");
    19         System.out.print(1 | 1);
    20         System.out.print("--");
    21         System.out.println(0 | 0);
    22         // out:1--1--0
    23         
    24         /*
    25          * ^:异或运算
    26          *     相同为0,不同为1
    27          */
    28         System.out.print(1 ^ 0);
    29         System.out.print("--");
    30         System.out.print(1 ^ 1);
    31         System.out.print("--");
    32         System.out.println(0 ^ 0);
    33         // out:1--0--0
    34     }

     关于'<<'与'>>'操作:

    • m<<n,表示m二进制,右边尾部加0;
    • m>>n,表示m二进制,右边尾部去掉1位;
    • m>>>n,表示m二进制,忽略其符号位,从左至右,去掉最后的n位;
    • 不存在'<<<';
     1 public static void main(String[] args) {
     2         int integer = 2;
     3         printBinary(integer);
     4         integer = 2 >> 1;
     5         printBinary(integer);
     6         integer = 2 >> 2;
     7         printBinary(integer);
     8         integer = 2 >> 3;
     9         printBinary(integer);
    10         System.out.println("====================");
    11         integer = 2 << 1;
    12         printBinary(integer);
    13         integer = 2 << 2;
    14         printBinary(integer);
    15         integer = 2 << 3;
    16         printBinary(integer);
    17         System.out.println("====================");
    18         integer = -2 << 1;
    19         printBinary(integer);
    20         System.out.println("====================");
    21         integer = -2 >> 1;
    22         printBinary(integer);
    23         System.out.println("====================");
    24         integer = 3 >> 1;
    25         printBinary(integer);
    26         System.out.println("====================");
    27         integer = -2;
    28         printBinary(integer);
    29         printBinary(integer>>>1);
    30         printBinary(-integer);
    31         printBinary(-integer>>>1);
    32     }
    33     private static void printBinary(Integer integer) {
    34         System.out.println("Integer.toBinaryString()="+Integer.toBinaryString(integer)+", integer="+integer);
    35     }
    36     /**
    37      Integer.toBinaryString()=10, integer=2
    38      Integer.toBinaryString()=1, integer=1
    39      Integer.toBinaryString()=0, integer=0
    40      Integer.toBinaryString()=0, integer=0
    41      ====================
    42      Integer.toBinaryString()=100, integer=4
    43      Integer.toBinaryString()=1000, integer=8
    44      Integer.toBinaryString()=10000, integer=16
    45      ====================
    46      Integer.toBinaryString()=11111111111111111111111111111100, integer=-4
    47      ====================
    48      Integer.toBinaryString()=11111111111111111111111111111111, integer=-1
    49      ====================
    50      Integer.toBinaryString()=1, integer=1
    51      ====================
    52      Integer.toBinaryString()=11111111111111111111111111111110, integer=-2
    53      Integer.toBinaryString()=1111111111111111111111111111111, integer=2147483647
    54      Integer.toBinaryString()=10, integer=2
    55      Integer.toBinaryString()=1, integer=1
    56      */
  • 相关阅读:
    戴尔英语09年互联网络投放策略规划书
    haproxy相关
    邮送广告
    python和rails交互应用
    ubuntu搭建邮件服务器
    waitr自动化测试
    ruby写爬虫
    free git svn repositories
    网站开发外包遇到的问题
    电影推荐
  • 原文地址:https://www.cnblogs.com/zhengbin/p/5598083.html
Copyright © 2011-2022 走看看