文章目录

  • 1. 算术左移和逻辑左移
  • 2. 算术右移和逻辑右移
  • 3. Java中<<、>>和>>>的含义

1. 算术左移和逻辑左移

对于有符号数或无符号数:算术左移 == 逻辑左移。

操作逻辑:丢弃高位,低位补0。

数值变化:左移n位,相当于乘以2的n次方。(对于无符号数、有符号数的正数或负数,均成立)。

2. 算术右移和逻辑右移

分类 算术右移 逻辑右移
无符号数 丢弃低位,高位补0 丢弃低位,高位补0 对于无符号数,算术右移 == 逻辑右移
有符号数 丢弃低位,高位补符号位
(正数为0,负数为1)
丢弃低位,高位补0 对于有符号数,算术右移 != 逻辑右移

【注】对于无符号数、有符号数的正数:算术右移 == 逻辑右移。

数值变化:右移n位,相当于除以2的n次方。适用于:

  • 无符号数的右移。
  • 有符号数的算术右移、正数的逻辑右移。

【注】只有一种情况不适用,就是负数的逻辑右移。

3. Java中<<、>>和>>>的含义

  • <<:算术左移。
  • >>:算术右移。
  • >>>:逻辑右移。

【注】没有<<<符号。

程序示例:


public class BitOperator{public static void main(String[] args){System.out.println(2<<1);//算术左移,输出4System.out.println(-2<<1);//算术左移,输出-4System.out.println(2>>1);//算术右移,输出1System.out.println(-2>>1);//算术右移,输出-1System.out.println(2>>>1);//逻辑右移,输出1System.out.println(-2>>>1);//逻辑右移,输出2147483647}
}

运行结果:

【Java】位运算符---算术右移和逻辑右移、算术左移和逻辑左移相关推荐

  1. java位运算符取反_java运算符

    Java 语言支持如下运算符: 算术运算符: +,-,*,/,%,++,-- 赋值运算符 = 关系运算符: >,<,>=,<=,==,!=, instanceof 逻辑运算符: ...

  2. java位运算符和位运算表达式

    java位运算符和位运算表达式 > 右移 x>>a X各比特位右移a位 << 左移 X< >> 不带符号的右移 x>>>a X各比特位 ...

  3. Java 位运算符详解

    文章目录 Java 位运算符详解 前情提要: 一.简介 二.如何区分 &,|,^ 是逻辑运算符还是位运算符? 三.例子 按位与 & 按位或 | 按位异或 ^ 按位取反 ~ 左移 < ...

  4. java位运算符详解

    java位运算符详讲 一.位运算符分类     java中位运算符主要有:按位与&.按位或|.按位非~.按位异或^.  在使用时,需要将运算数都转换为二进制再进行运算,若为负数则使用补码表示. ...

  5. java 位运算符赋值_java-运算符(算术、赋值 =、关系、逻辑、三元、位运算符)...

    基本运算符与位运算符 算术运算符:两个操作数进行计算 + 加 - 减 * 乘 / 除(取整) % 取余 例子: class ArrayTest{ public static void main(Str ...

  6. java 位运算符在实际开发中的用处_java 位运算 和实际应用

    public class Test { public static void main(String[] args) { // 1.左移( < // 0000 0000 0000 0000 00 ...

  7. Java位运算符详解(移位、位与、或|、非~、异或^)

    位运算符 位运算是对操作数以二进制为单位进行的操作和运算,运算结果为整数.位运算符包括:"&"."|"."~"."^&qu ...

  8. Java位运算符以及运算优先级

    1. Java中的位运算符 (1) 与&: 对运算符两侧以二进制表达的操作符按位分别进行'与'运算. 操作的规则是:仅当两个操作数都为1时.输出结果才为1.否则为0 例:12 & 5 ...

  9. java位运算符取反_Java运算符之位运算符

    位运算符 尹成课程资料及演示(免费)(文末有资料链接) 位运算符是针对二进制数的每一位进行运算的符号,它是专门针对数字0和1进行操作的.接下来通过一张表来展示Java中的位运算符及其用法,如表1所示. ...

  10. Java 位运算符和移位运算符

    参考: Bitwise and Bit Shift Operators <Java 编程思想 第3章 操作符> 今天学习 Java BitSet 类时,发现对于位运算符和移位运算符的操作有 ...

最新文章

  1. 从 no-code 到 low-code 再到 pro-code
  2. cocos2d-x-3.1 win32程序-初识源代码(coco2d-x 学习笔记二)
  3. JavaScript实现十种经典排序算法(js排序算法)
  4. 面试题整理13 合并排序链表去重
  5. 《Linux内核设计与实现》读书笔记(十四)- 块I/O层
  6. python 效率_Python 运行效率为何低
  7. 今日arXiv精选 | 15篇ICCV 2021最新论文
  8. 前端封装接口弹出错误_项目实践:SpringBoot三招组合拳,手把手教你打出优雅的后端接口...
  9. 数字化转型鸿沟如何消除?ROMA Connect融合集成,联接企业应用现在与未来
  10. Javascript基础--对象
  11. 算法笔记(23)网格搜索及Python代码实现
  12. OEM产品验收测试用例如何编写
  13. Python常用第三方库
  14. Cisco Packet Tracer思科模拟器交换机的VTP技术
  15. 从一个运维人员的角度看微盟的这次删库跑路的节奏
  16. python编写sql注入工具毕业设计_Python编写SQL注入工具(2)
  17. 计算机进制小数位之间的转换,计算机进制之间相互转换
  18. AI行业态势感知(第七期)
  19. CHAPTER 18 Semantic Role Labeling
  20. python计算圆周率100万位要多久_Super Pi-计算10000位圆周率需要多少时间?

热门文章

  1. Excel问题:excel表格的状态栏,不显示求和怎么办?
  2. 【前端领域】3D旋转超美相册(HTML+CSS)
  3. MyBatis-Plus插件
  4. C#和JQ判断移动端还是PC端
  5. 基于stm32的智能婴儿床(毕业设计)
  6. 解决echarts饼图label显示不全的问题
  7. CF506 C Mr. Kitayuta vs. Bamboos (贪心)
  8. Elasticsearch:《大数据集群学习笔记与实战》之es集群(2)es基本操作
  9. python画卡通人物_追忆童年,教你用Python画出儿时卡通人物
  10. 深入理解Nginx:java业务逻辑层都用什么技术