`
1028826685
  • 浏览: 938472 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类

Java中>>、>>>、<<

    博客分类:
  • J2EE
 
阅读更多

定义:

右移动>>:带符号右移。正数右移高位补0,负数右移高位补1。

左移动<<:带符号左移。正数左移低位补0,负数左移低位补1。

无符号右移>>>:无论是正数还是负数,高位通通补0。

 

栗子:下面以32位表示

2的二进制:0000 0000 0000 0000 0000 0000 0000 0010

-2的二进制:1111 1111 1111 1111 1111 1111 1111 1110

获取2的负数二进制表示:2的二进制补码加1

  1111 1111 1111 1111 1111 1111 1111 1101

  加1

  1111 1111 1111 1111 1111 1111 1111 1110

 

<1、2>>>1 

        1)去掉红色数字:0000 0000 0000 0000 0000 0000 0000 0010 

      2)高位补0       0000 0000 0000 0000 0000 0000 0000 0001

<2、2>>1

        1 ) 去掉红色数字:0000 0000 0000 0000 0000 0000 0000 0010 

      2)高位补0       0000 0000 0000 0000 0000 0000 0000 0001

<3、-2>>1

      1) 去掉红色数字 :1111 1111 1111 1111 1111 1111 1111 1110

      2)高位补1       :1111 1111 1111 1111 1111 1111 1111 1111

<4、2<<1

      1 ) 去掉红色数字 :0000 0000 0000 0000 0000 0000 0000 0010

      2 )  低位补0       :0000 0000 0000 0000 0000 0000 0000 0100

<5、-2<<1

      1 ) 去掉红色数字 : 1111 1111 1111 1111 1111 1111 1111 1110

      2 ) 低位补1        : 1111 1111 1111 1111 1111 1111 1111 1101

<6、-2>>>1

      1 ) 去掉红色数字 :1111 1111 1111 1111 1111 1111 1111 1110

      2 ) 高位补0        :0111 1111 1111 1111 1111 1111 1111 1111

总结:

2>>>1 相当于2乘以2^1 同理2>>>2^n相当于乘以2^n 无符号位操作都补0

2>>1   相当于2乘以2^1 同理2>>>2^n相当于乘以2^n 正数高位补0,负数高位不1

2<<1   相当于2乘以2^1 同理2>>>2^n相当于乘以2^n 正数左移低位补0,负数左移低位补1。

 

 

 

分享到:
评论

相关推荐

    $$ \ Lambda _ {b} \ rightarrow N ^ * \ ell ^ + \ ell ^-$$的研究&lt;math&gt; <mrow> <msub> <mi>Λ</ mi> <mi> b </ mi> </ msub> <mo>→</ mo> <msup> <mi> N </ mi> <mo> ∗ </ mo> </ msup> <msup> <mi>ℓ</ mi> <mo> + </ mo> </ msup> <msup> <mi>ℓ</ mi> <mo>-&lt;/ </ m

    / mi&gt; &lt;/ msub&gt; &lt;mo&gt;→&lt;/ mo&gt; &lt;msup&gt; &lt;mi&gt; N &lt;/ mi&gt; &lt;mo&gt; ∗ &lt;/ mo&gt; &lt;/ msup&gt; &lt;msup&gt; &lt;mi&gt;ℓ&lt;/ mi&gt; &lt; mo&gt; + &lt;/ mo&gt; &lt;/ msup&gt; &lt;msup&gt; &lt;mi&gt;ℓ&lt;/ mi&gt; &lt;mo&gt;-&lt;/ mo&gt; &lt;/ msup&gt; &lt;/ mrow&gt; &lt;/ math&gt;衰减是在 轻锥体QCD...

    spark 并行加载 greenplum 数据

    &lt;groupId&gt;org.apache.spark&lt;/groupId&gt; &lt;artifactId&gt;spark-core_2.11&lt;/artifactId&gt; &lt;version&gt;2.3.1&lt;/version&gt; &lt;/dependency&gt; &lt;!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql --&gt; ...

    List<Map>转化为List工具类

    一般使用springjdbc、hibernate的sql查询,库获取到的数据都是List&lt;Map&lt;String, Object&gt;&gt;结果集,如果我们要转化为JavaBean,则需要做一系列的...此工程中就是解决List&lt;Map&lt;String, Object&gt;&gt;转化为JavaBean工具类实现

    jdk10+ java.lang.NoClassDefFoundError: javax/xml/ws/Service 错误

    在Java开发过程中,我们经常会遇到`java.lang.NoClassDefFoundError`这个异常,尤其是在进行JDK版本升级时。这个错误通常表示在运行时找不到某个类的定义,即使编译时该类是可用的。在本例中,问题发生在从一个较低...

    java课设超市订单管理系统源代码.zip

    java课设超市订单管理系统源代码。基于mysql数据库,原生JDBC框架,Web工程,大学实训,课程设计。#java课设 导入项目中涉及的 jar包 servlet&jsp ... &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt;

    图书管理系统代码

    &lt;%@ page import="java.sql.*" %&gt; &lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt; &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html...

    《Flex第一步》书中源代码1

    &lt;name&gt;Example_1&lt;/name&gt; &lt;comment&gt;&lt;/comment&gt; &lt;projects&gt; &lt;/projects&gt; &lt;buildSpec&gt; &lt;buildCommand&gt; &lt;name&gt;com.adobe.flexbuilder.project.flexbuilder&lt;/name&gt; &lt;arguments&gt; &lt;/arguments&gt; &lt;/build...

    XmlConverJSON.java

    用java中的 &lt;dependency&gt; &lt;groupId&gt;net.sf.json-lib&lt;/groupId&gt; &lt;artifactId&gt;json-lib&lt;/artifactId&gt; &lt;version&gt;2.4&lt;/version&gt; &lt;classifier&gt;jdk15&lt;/classifier&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;jdom&lt;/...

    使用maven将Java程序打包成exe文件并制作成Windows系统服务(六)之使用allatori对Java代码混淆

    在Java开发过程中,为了保护源代码的安全性和防止恶意逆向工程,开发者经常会对代码进行混淆。Allatori Java Obfuscator是一款强大的工具,可以实现这一目标。本教程将讲解如何使用Maven结合Allatori将Java程序打包...

    Java数据编程指南

    用UML进行对象建模&lt;br&gt;为什么使用UML&lt;br&gt;什么是UML&lt;br&gt;UML图表&lt;br&gt;如何将UML建模图表配合在一起&lt;br&gt;如何将UML合并到我们的项目中&lt;br&gt;可以考虑的一些UML CASE工具&lt;br&gt;小结&lt;br&gt;第4章 数据建模&lt;br&gt;数据建模的阶段&lt;br&gt;...

    (已编译)openstack-java-sdk-master

    由于近期有不少同学在问我关于这个帖子中介绍到的openstack-java-sdk 编译的问题,从全年开始的sdk 的pom文件中添加了 gpg 这个插件,因此很多同学在编译的时候都是卡在这里 -&lt;plugin&gt; &lt;groupId&gt;org.apache.maven....

    java循环输出源代码

    源代码&lt;html&gt; &lt;head&gt; &lt;meta ... &lt;li&gt;&lt;dt&gt;我的电脑&lt;/dt&gt;&lt;/li&gt; &lt;ol type="circle"&gt; &lt;li&gt;本地磁盘C:&lt;/li&gt; &lt;ol type="square"&gt; 我的文档&lt;br/&gt; 我的收蒧 &lt;/ol&gt; &lt;/dl&gt; &lt;/ol&gt;

    groovy java maven 混合编程1

    在Java开发环境中,Groovy是一种强大的补充,它提供了更加简洁和动态的编程体验。Groovy是为Java平台设计的一种面向对象的编程语言,融合了Python、Ruby和Smalltalk等动态语言的特性,使得开发者能够在后端开发中...

    基于maven的scala与java相互调用的简单实例

    &lt;mainClass&gt;com.example.HelloJava&lt;/mainClass&gt; &lt;/manifest&gt; &lt;/archive&gt; &lt;/configuration&gt; &lt;/plugin&gt; &lt;/plugins&gt; &lt;/build&gt; ``` 运行`mvn clean package`命令后,你会得到一个包含所有依赖的jar文件,可以直接...

    Marven + Jetty + Myeclipse实现java修改实时生效

    &lt;groupId&gt;org.zeroturnaround&lt;/groupId&gt; &lt;artifactId&gt;javarebel-maven-plugin&lt;/artifactId&gt; &lt;executions&gt; &lt;execution&gt; &lt;id&gt;generate-rebel-xml&lt;/id&gt; &lt;phase&gt;process-resources&lt;/phase&gt; &lt;goals&gt; ...

    java动态生成pdf文件

    &lt;version&gt;4.0.3&lt;/version&gt; &lt;groupId&gt;com.itextpdf&lt;/groupId&gt; &lt;artifactId&gt;font-asian&lt;/artifactId&gt; &lt;version&gt;7.2.4&lt;/version&gt; &lt;groupId&gt;com.itextpdf&lt;/groupId&gt; &lt;artifactId&gt;itext7-core&lt;/artifactId&gt; &lt;version&gt;...

    java socket 通信程序

    Java远程消息传送器&lt;br&gt;&lt;br&gt;功能要求:&lt;br&gt;&lt;br&gt;桌面窗口应用程序;&lt;br&gt;&lt;br&gt;包括多个发送端和一个接收端;&lt;br&gt;&lt;br&gt;多用户使用发送端通过网络连接接收端;&lt;br&gt;&lt;br&gt;用户输入文字消息,然后发送给接收端,接收端将消息...

    QrCodeCreateUtil.java

    资源中只有Java代码,忘了提供maven依赖,需要自己加maven依赖: &lt;dependency&gt; &lt;groupId&gt;com.google.zxing&lt;/groupId&gt; &lt;artifactId&gt;javase&lt;/artifactId&gt; &lt;version&gt;3.1.0&lt;/version&gt; &lt;/dependency&gt; ...

    List<Long>转一维数组 Long[](csdn)————程序.pdf

    总的来说,Java中的List到数组的转换可以通过多种方式进行,包括使用传统的for循环或利用JDK 1.8引入的Stream API。选择哪种方法取决于你的项目需求,如对性能、代码可读性和简洁性的要求。理解这些转换方法可以帮助...

    LambdaProbe 中文包下载

    demo/demo &lt;br&gt;中文版截屏:&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;官方网站的截屏:&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;Datasource test view 数据源测试视图 &lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;Application summary 应用程序摘要 &lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;Java Service ...

Global site tag (gtag.js) - Google Analytics