`

java_移位运算符<<,>>,>>>

    博客分类:
  • Java
 
阅读更多

via: http://www.cnblogs.com/hongten/p/hongten_java_yiweiyunsuangfu.html

 

java中的移位运算符:<<,>>,>>>

 

java中有三种移位运算符 

<<      :     左移运算符,num << 1,相当于num乘以2 

>>      :     右移运算符,num >> 1,相当于num除以2 

>>>    :     无符号右移,忽略符号位,空位都以0补齐

 

下面来看看这些移位运算都是怎样使用的 

public class Test {

    public static void main(String[] args) {

        int number = 10;

        //原始数二进制

        printInfo(number);

        number = number << 1;

        //左移一位

        printInfo(number);

        number = number >> 1;

        //右移一位

        printInfo(number);

    }

    

    /**

     * 输出一个int的二进制数

     */

    private static void printInfo(int num){

        System.out.println(Integer.toBinaryString(num));

    }

}

运行结果为:

 

1010

10100

1010

我们把上面的结果对齐一下:

 

43210      位数

--------

 1010      十进制:10     原始数         number

10100      十进制:20     左移一位       number = number << 1;

 1010      十进制:10     右移一位       number = number >> 1;

看了上面的demo,现在是不是对左移和右移了解了很多了呢

 

对于:>>>

 无符号右移,忽略符号位,空位都以0补齐

value >>> num     --   num 指定要移位值value 移动的位数。

无符号右移的规则只记住一点:忽略了符号位扩展,0补最高位  无符号右移运算符>>> 只是对32位和64位的值有意义

分享到:
评论

相关推荐

    java 移位运算符的资源

    Java 移位运算符是编程语言中用于处理二进制位的一种高效操作方式,它们能够对整数类型(byte, short, int, long)的值进行左移、右移和无符号右移操作。理解这些运算符对于优化代码和深入理解计算机底层工作原理至...

    Thinking in java(中文)

    控制程序流程&lt;br&gt;3.1 使用Java运算符&lt;br&gt;3.1.1 优先级&lt;br&gt;3.1.2 赋值&lt;br&gt;3.1.3 算术运算符&lt;br&gt;3.1.4 自动递增和递减&lt;br&gt;3.1.5 关系运算符&lt;br&gt;3.1.6 逻辑运算符&lt;br&gt;3.1.7 按位运算符&lt;br&gt;3.1.8 移位运算符&lt;br&gt;3.1.9 ...

    Java移位运算符详解实例(小结)

    Java移位运算符详解实例 Java移位运算符是Java语言中的一种基本运算符,用于对二进制数进行位移操作。移位运算符主要包括左移位运算符(&lt;&lt;)、右移位运算符(&gt;&gt;&gt;)和带符号的右移位运算符(&gt;&gt;)。这些运算符可以...

    Java移位运算符1

    本文将深入探讨Java中的三种移位运算符:左移运算符(&lt;&lt;),右移运算符(&gt;&gt;)以及无符号右移运算符(&gt;&gt;&gt;)。 1. 左移运算符(&lt;&lt;) 左移运算符(&lt;&lt;)将一个数的二进制表示向左移动指定的位数。例如,如果`num`是一个...

    Java中的进制与移位运算符

    接下来,我们讨论Java中的移位运算符,包括左移(&lt;&lt;)、右移(&gt;&gt;)和无符号右移(&gt;&gt;&gt;)。这些运算符用于处理整数类型的数据,尤其是二进制位串。 1. **左移运算符(&lt;&lt;)**:将数字的二进制位向左移动指定的位数。空...

    Java三种移位运算符原理解析

    Java移位运算符是Java编程语言中的一种基本操作符,主要用于对二进制数的移位操作。Java中有三种移位运算符:左移运算符(&lt;&lt;)、带符号右移运算符(&gt;&gt;)和无符号右移运算符(&gt;&gt;&gt;)。下面我们将详细介绍这三种移位...

    java运算符优先级.doc

    5. 移位运算符:&lt;&lt;、&gt;&gt;、&gt;&gt;&gt; 6. 比较运算符:==、!=、&lt;、&gt;、&lt;=、&gt;= 7. 逻辑运算符:&&、|| 8. 赋值运算符:=、+=、-=、\*=、/=、%=、&lt;&lt;=、&gt;&gt;=、&=、^=、|=、&gt;&gt; 二、Java 异常处理 Java 中的异常处理机制可以帮助...

    Java中常见的几种运算符.doc

    移位运算符是指用于执行移位运算的符号,例如 &lt;&lt;、&gt;&gt;、&gt;&gt;&gt; 等。这些符号可以用来将数字向左或向右移动指定的位数。 例如:int a = 10; int b = a &lt;&lt; 2; // b 的值将是 40 六、三元运算符 三元运算符是指用于执行...

    java中的位运算符和运算符优先级.docx

    这些运算符包括移位运算符(左移位`&lt;&lt;`,右移位`&gt;&gt;`和无符号右移位`&gt;&gt;&gt;`)以及逻辑位运算符(非`~`,与`&`,异或`^`,或`|`)。理解这些运算符的用法和特性对于编写高效的代码至关重要。 1. **移位运算符**: - 左...

    java运算符大全

    16. **带符号右移位运算符** (&gt;&gt;): 根据符号位扩展,向右移动指定位数,高位补0(正数)或1(负数)。 17. **无符号右移运算符** (&gt;&gt;&gt;): 不考虑符号位,向右移动指定位数,高位用0填充。 18. **小于运算符** (&lt;): ...

    java中的移位运算符心得总结

    Java中的移位运算符心得总结 Java中的移位运算符是指在Java编程语言中用于执行位ewise操作的运算符。它包括左移运算符(&lt;&lt;)、右移运算符(&gt;&gt;)和无符号右移运算符(&gt;&gt;&gt;)。这些运算符可以对整数类型的变量进行位...

    移位运算符

    在Java编程语言中,提供了三种主要的移位运算符:左移运算符(`&lt;&lt;`)、带符号右移运算符(`&gt;&gt;`)以及无符号右移运算符(`&gt;&gt;&gt;`)。这些运算符广泛应用于各种场景,如数据压缩、加密解密算法、图像处理等领域。 #### ...

    Java运算符+(优先级、目数)+.doc

    11. **位移运算符(&lt;&lt;, &gt;&gt;, &gt;&gt;&gt;):** 左移位运算符将二进制位向左移动指定位数,右移位运算符则向右移动。无符号右移运算符对负数也会填零。这些都是双目的运算符,从左到右结合。 12. **关系运算符(&lt;, &gt;, &lt;=, &gt;=, ...

    java运算符优先级[整理].pdf

    7. 左移位、右移位运算符 左移位(&lt;&lt;)、右移位(&gt;&gt;)运算符的优先级相同,且从左到右。 8.关系运算符 关系运算符包括小于(&lt;)、大于(&gt;)、小于或等于(&lt;=)、大于或等于(&gt;=)等。它们的优先级相同,且从左到...

    java运算符优先级[借鉴].pdf

    在Java语言中,按位运算符(&、|、^)的优先级高于关系运算符(&lt;、&gt;、&lt;=、&gt;=),因此在执行按位运算时,需要注意运算符的优先级。 了解Java运算符优先级是非常重要的,掌握这些知识可以帮助我们编写更加正确和高效的...

    JAVA运算符.pdf

    6. 移位运算符:包括左移(&lt;&lt;)、右移(&gt;&gt;)、无符号右移(&gt;&gt;&gt;)。移位运算符用于按位移动整数的位。 7. 类型运算符:包括`instanceof`运算符,用于检查某个对象是否是特定类的实例。 8. 位运算符:包括按位与(&...

    Java运算符优先级

    5. **移位运算符**: - `&lt;&lt;`(左移)、`&gt;&gt;`(右移)、`&gt;&gt;&gt;`(无符号右移)。 - 结合性是从左向右,即先处理左边的操作数。 6. **比较运算符**: - `&lt;`、`&lt;=`、`&gt;`、`&gt;=`、`instanceof`。 - `instanceof`用于...

    java中关于移位运算符的demo与总结(推荐)

    下面小编就为大家带来一篇java中关于移位运算符的demo与总结(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Java运算符+优先级、目数+.pdf

    Java中的移位运算符包括: * 左移位(&lt;&lt;):从左到右的双目运算符,用于将变量左移指定的位数。 * 带符号右移(&gt;&gt;):从左到右的双目运算符,用于将变量右移指定的位数,并保留符号位。 * 无符号右移(&gt;&gt;&gt;):从左...

Global site tag (gtag.js) - Google Analytics