zoukankan      html  css  js  c++  java
  • java 位移运算符

     1         
     2     //因为java中的int型占用4个字节,也就是32个二进制位(二进制中八位一个字节)。
     3     //    对于移位运算如果你移动了32位,那么所有的位都移出了,就没什么意义了,
     4     //    所以系统会先将移动的位数对32取模。    
     5     //在进行位运算之前,    要先进行模的32位运算
     6     int i = -5;
     7     System.out.println("1:   	"+Integer.toBinaryString(i));
     8     //二进制右移  ----除以2  
     9     int a=i>>1;
    10     System.out.println("i>>1:  	"+Integer.toBinaryString(a));
    11         a=i>>32;
    12     System.out.println("i>>32: 	"+Integer.toBinaryString(a));
    13     //二进制左移  ----乘以2
    14     int b=i<<1;
    15     System.out.println("i<<1:  	"+Integer.toBinaryString(b));
    16         b=i<<32;
    17     System.out.println("i<<32: 	"+Integer.toBinaryString(b));
    18     //二进制    无符号右移   最高位补0   只是对32位和64位的值有意义
    19     int c=i>>>1;
    20     System.out.println("i>>>1:	"+Integer.toBinaryString(c));    
    21         c=i>>>32;
    22     System.out.println("i>>>32:	"+Integer.toBinaryString(c));    
    1:        11111111111111111111111111111011
    i>>1:      11111111111111111111111111111101
    i>>32:     11111111111111111111111111111011
    i<<1:      11111111111111111111111111110110
    i<<32:     11111111111111111111111111111011
    i>>>1:    1111111111111111111111111111101
    i>>>32:    11111111111111111111111111111011

  • 相关阅读:
    JAVA实现图的邻接表以及DFS
    对于JAVA多线程卖票小程序的理解
    我的第一篇博客
    The 'with' and 'as' Keywords
    Buffering Data
    rstrip
    MapFields和并行计算(OpenFOAM)
    Python 调用自己编写的Class
    vs2013和vs2010的配置
    Eclipse的配置
  • 原文地址:https://www.cnblogs.com/the-wang/p/8119763.html
Copyright © 2011-2022 走看看