您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页Java移位运算总结

Java移位运算总结

来源:伴沃教育
  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

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务