美文网首页
Java移位运算总结

Java移位运算总结

作者: kirito0424 | 来源:发表于2018-05-23 19:50 被阅读9次
  1. <<左移运算符

格式是:value << num

左移的运算规则是:无论value是正数还是负数,都
丢弃最高位,最低位补0


  1. >>右移运算符(有符号右移)

格式是:value >> num

右移的运算规则是:低位直接舍弃,如果value是正数,高位补0,是负数,高位补1

举个例子:

  1. -4的补码是 1111 1100 (写程序的话int应该是32位的,这里为了简单说明原理,只取8位)

  2. 先右移两位 -- 1111 11

  3. 高位补1 -- 1111 1111

  4. 转化为10进制 -- -1


  1. >>>无符号右移

格式是:value >>> num

右移的运算规则是:低位直接舍弃,高位直接补0

举个例子:

  1. -15的补码是 -- 1111 1111 1111 1111 1111 1111 1111 1111 0001

  2. 先右移两位 -- 1111 1111 1111 1111 1111 1111 1111 1100

  3. 高位补0 -- 0011 1111 1111 1111 1111 1111 1111 1100

  4. 转化为10进制 1073741820

下面是在IDEA里跑的结果,给大家参考:

image image

相关文章

  • Java移位运算总结

    <<左移运算符 格式是:value << num 左移的运算规则是:无论value是正数还是负数,都丢弃最高位,最...

  • Java学习目录

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

  • Java移位运算

    背景 java或android源码中经常会使用移位运算来代替乘除运算,因为移位运算的性能比乘除运算的高(PS:对于...

  • java中有三种移位运算符

    java中有三种移位运算符

  • Java面试

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

  • java移位运算符

    转自http://www.iteye.com/topic/766461 移位运算符 java移位运算符不外乎就这三...

  • java移位运算

    左移运算:x<

  • Java 移位运算

    左移 代表乘,左移一位代表乘2,左移两位代表乘4,左移n位代表乘以2的n次方,依次递增。 12<<1=24 12<...

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

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

  • java位运算

    Java 位运算(移位、位与、或、异或、非) Java提供的位运算符有:左移( << )、右移( >> ) 、无符...

网友评论

      本文标题:Java移位运算总结

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