首页 > 编程语言 >Java中>>、>>>、<<

Java中>>、>>>、<<

时间:2023-04-28 12:33:35浏览次数:41  
标签:0000 高位 乘以 1111 1110 Java 负数


定义:

右移动>>:带符号右移。正数右移高位补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 

0000 0000 0000 0000 0000 0000 0000 0010

高位补0       :0000 0000 0000 0000 0000 0000 0000 0001

<2、2>>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。

 

 

 

标签:0000,高位,乘以,1111,1110,Java,负数
From: https://blog.51cto.com/u_16091571/6233827

相关文章

  • Java ByteBuffer 使用实例
    packagefoo;importjava.io.IOException;importjava.nio.ByteBuffer;importjava.nio.CharBuffer;importjava.nio.charset.Charset;/**ByteBuffer并且这三个指针的关系是position<=limit<=capacity.position是当前读写的位置。limit是最大能读写的......
  • 轻松看懂Java字节码
     计算机只认识0和1。这意味着任何语言编写的程序最终都需要经过编译器编译成机器码才能被计算机执行。所以,我们所编写的程序在不同的平台上运行前都要经过重新编译才能被执行。而Java刚诞生的时候曾经提过一个非常著名的宣传口号: "一次编写,到处运行" 。WriteOnce,RunAnyw......
  • java jar 没有主清单属性_Spring Boot jar中没有主清单属性的解决方法「建议收藏」
    javajar没有主清单属性_SpringBootjar中没有主清单属性的解决方法「建议收藏」原文链接:https://cloud.tencent.com/developer/article/2133065大家好,又见面了,我是你们的朋友全栈君。使用SpringBoot微服务搭建框架,在eclipse和Idea下能正常运行,但是在打成jar包部署或者直接......
  • java 语言与 C语言端 AES (ECB)
    注:java为no-padding注释掉了padding部分(byte数组初始化时为0x00)c为padding0x00(byte数组初始化时为0x00)代码出自网上代码地址githubhttps://github.com/mountwater/AES-128-ECB-java_and_cJAVA代码//CopyrightPopaTiberiu2011//f......
  • Web开发神器,最智能的Javascript IDE——WebStorm
    我的开发很大一部分是和Javascript打交道,很久以来,我一直在Spket、Aptana、VisualStudio、IntelliJIDEA、notepad++、vim等选择中徘徊,因为发现他们都很好,但都缺少我想要的……直到我开始使用WebStorm。 什么是我对JavascriptIDE选择的标准?1、快速智能的代码提示(全项目的)和补全2......
  • Java数据类型
    1.数据类型注意:String是一个类,属于引用类型2.自动类型转换精度小的类型自动转换为精度大的数据类型......
  • 本地java监控远程Linux服务器-jconsole
    一、配置远程服务器需要监控的服务项目(本文以ps为例)需要监控的ps项目,此项目启动文件为ps.sh,编辑sh文件,找到JAVA_OPTS项,在后面添加JAVA_OPTS="-XX:+UseParallelGC-XX:+UseParallelOldGC$JVM_FLAGS$GC_LOG-Dfile.encoding=UTF-8-DLog4jContextSelector=org.apache.logging.......
  • jar包启动基础命令 java -jar common.jar cmd 命令行执行jar包
    jar包启动基础命令命令行执行jar包java-jarcommon.jar原文链接:https://blog.csdn.net/weixin_40483369/article/details/124392170一般情况下运行jar包,当前是可运行的jar包,直接命令java-jarcommon.jar1按下ctrl+C,关闭当前ssh或者直接关闭窗口,当前程序都会退出。......
  • java serice wrapper mac M2 入门
    先下载javasericewrapperhttps://download.tanukisoftware.com/wrapper/3.5.53/wrapper-macosx-universal-64-3.5.53.tar.gz解压设置arch-x86_64zshuname-mcdwrapper-macosx-universal-64-3.5.53/bin测试用例bin/testwrapperconsole新建项目packageo......
  • java定义枚举并赋值_java中枚举的特性是什么?如何赋值?
    java定义枚举并赋值_java中枚举的特性是什么?如何赋值?原文链接:https://blog.csdn.net/weixin_32821643/article/details/114441841上次已经为大家介绍过java枚举的概念是什么的主要内容了。今天再来为大家介绍一些相关的知识,也是关于java枚举的一些内容,也就是它的特性以及如何......