文章目录

  • 1. <<表示左移移,不分正负数,低位补0
  • 2. >>表示右移,如果该数为正,则高位补0,若为负数,则高位补1;
  • 3. >>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0

1. <<表示左移移,不分正负数,低位补0

注:以下数据类型默认为byte-8位

左移时不管正负,低位补0

正数:r = 20 << 2

  20的二进制补码:0001 0100向左移动两位后:0101 0000结果:r = 80

负数:r = -20 << 2

  -20 的二进制原码 :1001 0100-20 的二进制反码 :1110 1011-20 的二进制补码 :1110 1100左移两位后的补码:1011 0000反码:1010 1111原码:1101 0000 结果:r = -80

2. >>表示右移,如果该数为正,则高位补0,若为负数,则高位补1;

注:以下数据类型默认为byte-8位

正数:r = 20 >> 2

  20的二进制补码:0001 0100向右移动两位后:0000 0101结果:r = 5

负数:r = -20 >> 2

  -20 的二进制原码 :1001 0100-20 的二进制反码 :1110 1011-20 的二进制补码 :1110 1100 右移两位后的补码:1111 1011 反码:1111 1010原码:1000 0101结果:r = -5

3. >>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0

正数: r = 20 >>> 2

    结果与 r = 20 >> 2 相同;

负数: r = -20 >>> 2

注:以下数据类型默认为int 32位

  -20:源码:10000000 00000000 00000000 00010100反码:11111111  11111111   11111111   11101011补码:11111111  11111111   11111111   11101100右移:00111111  11111111   11111111   11111011结果:r = 1073741819

以上内容来自:

  1. 寒塘冷月_Java中的<< 和 >> 和 >>> 详细分析【CNBLOGS】

JAVA--位移运算符详细分析【转载】相关推荐

  1. JAVA正则表达式(详细,转载内容)

    可粗略估计一下,除了偶尔用Linux的外,其他Linu x用户都会遇到正则表达式.正则表达式是个极端强大工具,而且在字符串模式-匹配和字符串模式-替换方面富有弹性.在Unix世界里,正则表达式几乎没有 ...

  2. 【Java】浅析Java位移运算符<<、>>、>>>

    <<.>>.>>>分别是什么 <<.>>.>>>都是Java里的位移运算符. <<表示算术左移,< ...

  3. 硬盘FAT文件系统原理的详细分析——转载

    首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的.教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈-我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转 ...

  4. java位移运算符2 转

    https://blog.csdn.net/xxx134617/article/details/7454774 java中int类型占4个字节,二进制用补码表示: 3的二进制表示: 00000000 ...

  5. java队列——queue详细分析

    Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构 Queue接口与List.Set同一级别,都是继承了Collection接口.LinkedList实现了Deque接 口.   Q ...

  6. 罗密欧与朱丽叶的迷宫问题(java版带有详细分析与注释)

    罗密欧与朱丽叶的迷宫问题 问题描述 罗密欧与朱丽叶的迷宫问题 罗密欧与朱丽叶身处一个 $m×n $的迷宫中,如图所示.每一个方格表示迷宫中的一个房间.这 m × n m×n m×n 个房间中有一些房间 ...

  7. java实现平衡二叉树(详细分析)

    package com.utils; import java.util.Iterator; import java.util.NoSuchElementException; /*** 平衡二叉树* 定 ...

  8. Java设计模式超级详细分析(包含代码)

    设计模式(Design Pattern,DP) 目录 设计模式(Design Pattern,DP) 设计模式的六大设计原则 开闭原则:Open Closed Principle,OCP 单一职责原则 ...

  9. java中的位移运算符_Java 位移运算符

    本人只是 Android小菜一个,写技术文档只是为了总结自己在最近学习到的知识,从来不敢为人师,如果里面有些不正确的地方请大家尽情指出,谢谢! 1.概述 Java 位移运算符是Java中基本的位运算操 ...

  10. java面向对象的全面分析

    由于文章可能过长,看自己需要的部分即可-我尽量把java面向对象讲得全面一点,尽量让有一点点Java学习基础的同学也能看得懂,了解的深度也足够. 若在文章中发现了什么问题或者不太理解的地方-请及时评论 ...

最新文章

  1. eNSP中浮动路由的配置
  2. 数学中的向量乘积和矩阵乘积总结
  3. 阿里RocketMQ是怎样孵化成Apache顶级项目的?
  4. mysql 半同步关闭_MySQL的半同步模式配置
  5. python脚本调用外部程序的若干种方式以及利弊
  6. boost::pool
  7. bzoj 2190: [SDOI2008]仪仗队 -- 欧拉函数
  8. 5.Linux/Unix 系统编程手册(上) -- 深入探究文件IO
  9. 转载:人生真相之为何你应该假装自己是一个电脑白痴(原文pconline)
  10. POP3协议(电子邮件邮局协议)中UIDL和TOP命令在实际使用中的作用
  11. 常用视频格式简述(RMVB\RM\WMV\ASF\AVI\MPEG1\MPEG2\MPEG4\MOV)
  12. GoogleStyle编程代码规范
  13. SQL语句——处理函数
  14. websocket 客户端测试工具
  15. JWT(Golang)
  16. 英:程序员必知单词、语句、英文缩写汇总
  17. 商业模式(四):群硕软件,欧美客户为主的软件外包
  18. 中国Linux与微软斗法北京谋变,从水火不容到共生(转)
  19. 【猿哥学二建】第一周 考试准备
  20. C语言的C89、C99和C11标准(上)

热门文章

  1. 十多款优秀的Vue组件库介绍
  2. 【原】vue-router中params和query的区别
  3. SpringMVC 日期类型转换
  4. 【静态站点(一)】之 静态网站生成器
  5. Linux入门学习(十)
  6. 环境变量简单介绍windows-linux-mac
  7. JMeter性能测试工具简介
  8. 了解如何使用ASP.NET Core 3.1构建Web应用程序
  9. es审计日志_审计系统的一剂良方——事件溯源
  10. Python高级——闭包与装饰器