美文网首页
Java中的移位操作

Java中的移位操作

作者: 阿鸽 | 来源:发表于2018-04-20 15:02 被阅读0次

一、Java中的原码、反码和补码

1、以byte型数据为例,每个数值占8位,第一位是符号位,正数是0,负数是1

2、正数:原码、反码和补码是一样的

例如:2

原码:0000 0010

3、负数:反码是给原码的数字位(除符号位)的每一位取反,补码是给反码加1

例如:-2

原码:1000 0010

反码:1111 1101

补码:1111 1110

二、移位操作

1、Java中的移位一般分为左移(<<)、右移(>>)、无符号右移(>>>)。所有的移位操作都是针对补码

2、左移:数值的补码全部左移n位,舍弃符号位,右边的低位补0

2的补码:0000 0010           2

左移2位:0000 1000           8

-2的补码:1111 1110          -2

左移2位:1111 1000          -8

3、右移:数值的符号位不变,数字位的补码全部右移n位,左边补符号位

16的补码:0001 0000       16

 右移2位: 0000 0100        4

-16的补码:1111 0000      -16

右移2位:   1111 1100       -4

4、无符号右移:数值的所有位包括符号位都全部右移,前边补0

-16的补码:1111 0000      -16

右移2位:   0011 1100      60

相关文章

  • Java中的移位操作

    一、Java中的原码、反码和补码 1、以byte型数据为例,每个数值占8位,第一位是符号位,正数是0,负数是1 2...

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

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

  • 移位操作符

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

  • Java面试

    Java中Synchronized的用法Java面试准备Java HashMap 源码解析Java 位运算(移位、...

  • 位运算(位掩码BitMask)的简单应用场景浅析

    在Java中,位运算符有:与(&)、非(~)、或(|)、异或(^)、移位(<< 和 >>)、无符移位(<<< 和 ...

  • Java学习目录

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

  • Java中的移位运算

    1、左移运算符 左移运算符<<使指定值的所有位都左移规定的次数。 1)它的通用格式如下所示: value << n...

  • 移位操作

    正数的移码 移位规则:数符不变:(单:符号位不变,双:第1符号位不变)空位补0:(右移时第二符号位移至尾数最高位)...

  • java移位操作符详解

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

  • java移位操作>>、<<和位运算&,|,!

    <<:左移时不管正负,低位补0 正数:a=20<<2,20的二进制补码:0001 0100 。向左移动两位后:01...

网友评论

      本文标题:Java中的移位操作

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