零基础学Java—Java中的 >>,>>>

Posted 王同学要努力

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学Java—Java中的 >>,>>>相关的知识,希望对你有一定的参考价值。

【Java基础】Java中的 >>,>>>

前言(做题时遇到了,记录一下🉑2022 4 27)

我们都知道对于有符号数据类型,二进制最左端的数字为符号位,0代表正,1代表负,这里先介绍几个概念

逻辑左移=算术左移:高位溢出,低位补0
逻辑右移:低位溢出,高位补0
算术右移:低位溢出,高位用符号位的值补

比如一个有符号位的8位二进制数10101010,[]是添加的数字

逻辑左移一位:0101010[0]
逻辑左移两位:101010[00]

算术左移一位:0101010[0]
算术左移两位:101010[00]

逻辑右移一位:[0]1010101
逻辑右移两位:[00]101010

算术右移一位:[1]1010101
算术右移两位:[11]101010

算术左移和算术右移主要用来进行有符号数的倍增、减半
逻辑左移和逻辑右移主要用来进行无符号数的倍增、减半
(Java中是没有无符号数据类型的,C和C++中有)


public class demo20 
    public static void main(String[] args) 

        System.out.println(10 << 1); // 20

        System.out.println(-10 << 1); // -20

        System.out.println(10 >> 1); // 5

        System.out.println(-10 >> 1);// -5

        System.out.println(10 >>> 1);   // 5

        System.out.println(-10 >>> 1);// 2147483643

    

以上是关于零基础学Java—Java中的 >>,>>>的主要内容,如果未能解决你的问题,请参考以下文章

零基础怎样学Java? 要学哪些内容?

零基础学Java并不难!详解Java中的static关键字(下)

Java零基础_零基础学Java必备的学习笔记开发环境搭建-常见DOS命令

零基础学Java从啥开始学?

零基础学Java—接口(二十四)

零基础学Java需知:Java小白入门解疑大全