`

java 移位运算符详解

    博客分类:
  • java
 
阅读更多
java移位运算符不外乎就这三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。

1、 左移运算符
左移运算符<<使指定值的所有位都左移规定的次数。
1)它的通用格式如下所示:
value << num
num 指定要移位值value 移动的位数。
左移的规则只记住一点:丢弃最高位,0补最低位

左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方

2、 右移运算符
右移运算符<<使指定值的所有位都右移规定的次数。
1)它的通用格式如下所示:
value >> num
num 指定要移位值value 移动的位数。
右移的规则只记住一点:符号位不变,左边补上符号位 负数补1 正数补0

右移一位相当于除2,右移n位相当于除以2的n次方。

3、无符号右移
无符号右移运算符>>>
它的通用格式如下所示:
value >>> num
num 指定要移位值value 移动的位数。
无符号右移的规则只记住一点:忽略了符号位扩展,0补最高位
无符号右移运算符>>> 只是对32位和64位的值有意义

4.注意移位运算符的优先级在加减法只下,在比较运算符之上。

   int a = 5;  
   int b = 10;  
   int c = a >> 2 + b >> 2;
   System.out.println(c);//0



分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

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

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

    java学习笔记之我的笔记

    #### 一、Java左移位运算符详解 在Java编程语言中,位运算符主要用于处理二进制位的操作。其中,左移位运算符(`)是一种非常重要的位操作,它允许我们将一个整数的二进制表示向左移动指定的位数。通过本章节的学习...

    Java语言运算符优先级表

    ### Java语言运算符优先级详解 #### 运算符概述 在Java编程语言中,运算符是用来执行特定操作的关键符号。这些操作包括算术运算、比较运算、逻辑运算以及位运算等。为了确保代码能够按照程序员预期的方式执行,Java...

    Java运算符优先级

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

    Java移位运算

    ### Java移位运算详解 #### 一、基本概念与数据类型范围 在深入探讨Java中的移位运算之前,我们先来了解一下基本的数据类型及其范围。 ##### 1. 基本类型取值范围 Java中提供了多种基本数据类型,如`byte`、`...

    Java软件开发实战 Java基础与案例开发详解 3-4 运算符 共14页.pdf

    移位运算符用于改变整数中二进制位的位置,包括左移 (`), 有符号右移 (`&gt;&gt;`), 无符号右移 (`&gt;&gt;&gt;`)。 - **左移 (`)**:将二进制位向左移动指定数量的位置。 - **有符号右移 (`&gt;&gt;`)**:将二进制位向右移动指定数量的...

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

    ### Java中常见的几种运算符详解 #### 一、算术运算符 在Java中,算术运算符是最基本也是最常用的运算符之一。主要包括以下几种: - **加法(+)**:用于两个数值的相加。 - **减法(-)**:用于两个数值的相减。...

    java基础案例与开发详解案例源码全

    3.4.6 移位运算符49 3.4.7 其他操作符50 3.5 表达式52 3.5.1 表达式简介52 3.5.2 表达式的类型和值52 3.5.3 表达式的运算顺序52 3.5.4 优先级和结合性问题52 3.6 选择结构54 3.6.1 顺序语句54 3.6.2 选择条件语句54 ...

    Java 中的位运算

    #### 二、位运算符详解 ##### 1. 移位运算符(Shift Operators) - **算术右移 (`&gt;&gt;`)**:将二进制数的所有位向右移动指定的位置数,左边空出的高位用符号位填充。 - 示例:`-5 &gt;&gt; 3 = -1` - `-5` 的二进制表示...

    Java编程基础语法

    4. **位运算符**:用于按位操作整数,如按位与(&)、按位或(|)、按位异或(^)以及移位运算符(、&gt;&gt;、&gt;&gt;&gt;)。 5. **赋值运算符**:包括简单赋值(=)和复合赋值运算符(如+=、-=、*=等)。 #### 五、类型转换 ...

    Java从入门到精通教程全套

    - **主要内容**:介绍位运算符(如移位运算符、按位或等)的应用场景,以及如何利用位运算符进行变量交换。 - **学习目标**:掌握位运算符的操作方式,了解位运算在特定场景下的优势。 9. **三目运算符与优先级**...

    java 语言文法

    =`, `, `&gt;`, `, `&gt;=`)、移位运算符(`, `&gt;&gt;`, `&gt;&gt;&gt;`)以及算术运算符(`+`, `-`, `*`, `/`, `%`)。 ##### Expression3(表达式3) - **定义**:表达式3是表达式的最底层,包含前缀运算符、后缀运算符和选择器等...

    java面试宝典.docx

    移位运算符 4. 比较运算符 5. 按位与运算符 6. 按位异或运算符 7. 按位或运算符 8. 三目运算符 9. 赋值运算符 #### 五、Java类成员的访问控制权限 - 从宽到严依次为:`public` &gt; `protected` &gt; `默认...

    java复习试题[参考].pdf

    12. **移位运算符**:`&gt;&gt;`是右移运算符,示例代码中的89 &gt;&gt; 1相当于89除以2,结果是44。 13. **Applet**:Applet是Java小应用程序,需要在支持Java的浏览器中运行。`paint()`方法用于绘制Applet的内容,`init()`...

    javaday03笔记

    Java提供了三种移位运算符:`, `&gt;&gt;`, 和 `&gt;&gt;&gt;`。 - **左移运算符()**: 将二进制码整体向左移动指定的位数,高位被丢弃,低位补0。 - **右移运算符(&gt;&gt;) (带符号)**: 将二进制码整体向右移动指定的位数,高位(符号位...

    Java基础笔记-基础部分

    - **移位运算符**: - Java提供了几种位运算符,包括左移`、右移`&gt;&gt;`以及无符号右移`&gt;&gt;&gt;`。 - 左移运算符`将操作数的二进制位向左移动指定的位置数。 - 右移运算符`&gt;&gt;`:将操作数的二进制位向右移动指定的位置数...

    JAVA面试题

    利用左移位运算符,2的结果等于8,这是最高效的计算方式。 10. **跳出多重嵌套循环** 在Java中,可以使用break语句直接跳出最外层循环,或者在有返回值的方法中使用return语句结束方法执行,间接跳出循环。 11. ...

    Java选择题(附答案).pdf

    10. 按位移位运算符:`&gt;&gt;`是算术右移操作符,将数字的二进制表示向右移动指定位数;`&gt;&gt;&gt;`是无符号右移操作符,同样向右移位,但高位用0填充。因此,A和D是正确的。 11. 数据类型赋值:在Java中,合法的赋值语句包括...

    JAVA开发基于Misty1算法的加密软件(JAVA)的实现(源代码+论文).zip

    在Java中,可以使用位移运算符`&gt;&gt;&gt;`和`来实现行移位,使用异或操作符`^`来实现列混淆。 5. **轮密钥加** 轮密钥加是将密钥与当前轮的中间结果进行异或,增加算法的不可预测性。在Java中,这可以通过简单的异或操作...

Global site tag (gtag.js) - Google Analytics