https://blog.csdn.net/xxx134617/article/details/7454774

java中int类型占4个字节,二进制用补码表示:

3的二进制表示: 00000000 00000000 00000000 00000011

-3的二进制表示:11111111 11111111 11111111 11111101

1.左移<<:左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0).

如:

3<<1=00000000 00000000 00000000 00000110=6;

-3<<1=11111111 11111111 11111111 11111010=-6;

2.有符号右移>>:“有符号”右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使用 了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。

3>>1=00000000 00000000 00000000 00000001=1;

-3>>1=11111111 11111111 11111111 11111110=-2;

3.无符号右移:

3>>>1=00000000 00000000 00000000 00000001=1;

-3>>>1=01111111 11111111 11111111 11111110=2147483646;
---------------------

计算过程:

-3的源码:

10000000 00000000 00000000 00000011

反码:除符号位取反

11111111 11111111 11111111 11111100

补码:除符号位+1

11111111 11111111 11111111 11111101

-3<<1

计算机中的二进制表示(-3的二进制补码)

11111111 11111111 11111111 11111010

转十进制数

1)除去符号位减1

11111111 11111111 11111111 11111001

2)除去符号位,按位取反;结果就是负数的源码;

10000000 00000000 00000000 00000110

-                  6

转载于:https://www.cnblogs.com/cici-new/p/10493639.html

java位移运算符2 转相关推荐

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

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

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

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

  3. Java培训教程:Java中的位移运算符!

    学习Java本来就是一件日积月累的事情,或许你通过自学能掌握一些皮毛技术,通过系统学习学到Java的一些基本大面,但想要做到精通,还是需要自己技术的日积月累和工作经验的不断积累. 今天小千给大家分享的 ...

  4. Java 中的位移运算符

    在源码中经常会看到一些位移运算符的使用,比如在看HashMap源码的时候,在计算hashMap容量的阈值的时候,就使用到了位移运算符,代码如下: java中有三种移位运算符 <<     ...

  5. Java中的位移运算符

    移位运算符就是在二进制的基础上对数字进行平移.         我们知道,Java中byte.short和char类型在进行计算时都是先将其转换为int类型,同样在进行移位运算时也不例外.它们移位后的 ...

  6. java里有位移吗_Java 中位移运算符 ,,

    Java 中的三种位移运算符 java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     ...

  7. day017:Java进制转换、原码反码补码、位运算、位移运算符

    一.进制介绍: 1.进制:指进位制,表示某一位置上的数,运算时是逢X进一. 十进制就是逢十进一,二进制就是逢二进一,八进制就是逢八进一. 2.Java中默认的数值都是十进制,如果要输入其他进制,在数值 ...

  8. java基础运算符、键盘录入

    1.运算符 1.1算数运算符 概述:java中对常量或变脸进行数学运算的一些符号.就是对应我们数学中的数学运算 1.2比较运算符 概述:用来比较两个元素的大小关系,结果是boolean类型.符号和数学 ...

  9. ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​

    说明 所有的位运算符操作的都是二进制,而不是我们日常生活中常用的十进制. 在系统中,一个字节占8位. 按位与运算符(&) 参加运算的两个数据,按二进制位进行"与"运算. 运 ...

最新文章

  1. ffmpeg 解码rtp方法
  2. javascript中的事件问题的总结
  3. log4net按照不同的【LEVEL】级别输出到不同文件
  4. 农林行业的系统应用 php专业,农林|类专业
  5. 【计算机视觉】计算机视觉、模式识别、机器学习常用牛人主页链接
  6. Spark入门(五)Spark SQL shell启动方式(元数据存储在derby)
  7. ABAP--关于ABAP流程处理的一些命令的说明(stop,exit,return,check,reject)
  8. zabbix api 批量添加主机(python3 requests)
  9. java异步编程的面试_去年去阿里面试,被问到java 多线程,我是这样手撕面试官的...
  10. ios福利部落绕过激活锁,屏幕锁/已停用界面完美隐藏工具,支持最新ios15.5系统绕过
  11. ubuntu20磁盘新建分区与挂载
  12. 每天学点5G-5G UDR
  13. 【上班那点事】TO, CC, BCC-办公室邮件门道知多少
  14. 从南极之争谈软件架构十个技巧,及成功团队具备的气质
  15. group by column中的column与前面条件发生的错误的解决方案
  16. 微信小程序开发之mpVue
  17. Unknown column 'xxxx' in 'field list'
  18. vs错误描述:fatal error C1010:在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“
  19. 计算机中考在线评分卡,提前了解中考电脑阅卷流程,看完绝对提分,附备考建议...
  20. 《史蒂夫·乔布斯传》官方正式中文版电子书

热门文章

  1. 《LoadRunner 12七天速成宝典》—第2章2.1节开始
  2. C# WinForm开发系列 - ToolBar/OutlookBar/Tab/Wizard(转载)
  3. POJ 1671 第二类斯特林数
  4. Eclipse创建java webproject配置Tomacat和JDK
  5. Scala 函数式编程_部分应用函数_Partially Applied Functions
  6. 单链表的C++实现(采用模板类)
  7. Windows server 2008R2本地组与本地用户的创建和管理
  8. String和string的区别
  9. VC常用数据类型使用转换详解
  10. Go语言 命令行解析(一)