java移位操作符详解

作者: 心扬 | 来源:发表于2017-09-22 17:47 被阅读19次

左移位操作符 <<

按照操作符右侧指定的位数将操作符左边的操作数向左移动,低位补0

int i = -1;
System.out.println(Integer.toBinaryString(i));
运行结果

为什么转二进制后会是32个1呢?

在java内存中,一个int类型的变量,占用的空间32位,取值范围为 $-2^31$ 至 $2^{31}-1$,在内存中存储的时候,将其转换为补码进行存储,这样做的有点就在于,符号位和数值为可以一起处理,减法可以通过加法实现,简化了计算机的结构设计,提高了运算速度。

  • 将-1向左移动1位
System.out.println(Integer.toBinaryString(i<<1));

右移位操作符 >>和>>>

** 按照操作符右侧指定的位数,将操作符左边的操作数向右移动**

右移位操作符分为有符号无符号

  • >> 为有符号操作符

  • >>> 为无符号操作符

有符号操作符和无符号操作符的区别为
有符号时,符号为正,高位补0;符号为负,高位补1
无符号时,无论符号为正负,高位都补0

移位操作符与等号的组合使用

操作符左边的值会移动由右边的值指定的位数,再将得到的结果赋值给左边的变量

相关文章

  • Java学习目录

    基础 Java 比较器Comparator和Comparable的使用和区别 进制、移位 Java 移位运算详解(...

  • java二进制表示形式与移位操作符

    1.java二进制表示形式 2.移位操作符1.左移位操作符(<<)2.“有符号”右移位操作符(>>)3.“无符号”...

  • java移位操作符详解

    左移位操作符 << 按照操作符右侧指定的位数将操作符左边的操作数向左移动,低位补0 为什么转二进制后会是32个1...

  • 移位操作符

    java中有三种移位运算符 <<:左移位操作符,能按照操作符右侧指定的位数将操作符左边的操作数向左移动(在低位补0...

  • 一文彻底弄懂Java的移位操作符

    前言 对于移位操作符,很多人既感到熟悉,又感到陌生。熟悉是因为移位操作符是最基本的操作符之一,几乎每种编程语言都包...

  • 【runoob.6】位操作符

    对于Int和Long类型,还有一系列的位操作符可以使用,分别是:shl(bits) – 左移位 (Java’s <...

  • 移位操作符

    1、介绍 移位操作符只可处理整数类型。 << : 左移位操作符(i<<2),顾名思义,即在将整个字节向左移动...

  • 第5章,操作符和表达式

    位操作符 1、&(AND) |(OR) ^(XOR) 2、移位操作 条件操作符 类似这样的,b=a>5?3:...

  • 第三节:带你详解Java的操作符,控制流程以及数组

    前言 大家好,我是 Vic,今天给大家带来带你详解Java的操作符,控制流程以及数组的概述,希望你们喜欢 操作符 ...

  • c语言第七讲 操作符和表达式

    目标 操作符介绍 表达式求值 操作符号 操作符的分类 算术操作符 移位操作符 位操作符 赋值操作符 单目运算符 关...

网友评论

    本文标题:java移位操作符详解

    本文链接:https://www.haomeiwen.com/subject/ajwfextx.html