java >>什么意思_Java中的“ >>>”是什么意思?

小编典典

该>>>运算符是Java中无符号的右移位运算符。它有效地将操作数除以2右操作数的幂,或者仅2在此处。

>>和之间的差异>>>仅在移动负数时才会显示。如果>>运算符1是a

1,则运算符会将其移位到最高有效位,而无论如何都将>>>移位0。

更新:

让我们求平均值1和2147483647(Integer.MAX_VALUE)。我们可以轻松地进行数学运算:

(1 + 2147483647) / 2 = 2147483648 / 2 = 1073741824

现在,通过代码(low + high) / 2,涉及到以下这些位:

1: 00000000 00000000 00000000 00000001

+2147483647: 01111111 11111111 11111111 11111111

================================================

-2147483648: 10000000 00000000 00000000 00000000 // Overflow

/2

================================================

-1073741824: 11000000 00000000 00000000 00000000 // Signed divide, same as >> 1.

让我们将“转移”到>>>:

1: 00000000 00000000 00000000 00000001

+2147483647: 01111111 11111111 11111111 11111111

================================================

-2147483648: 10000000 00000000 00000000 00000000 // Overflow

>>> 1

================================================

+1073741824: 01000000 00000000 00000000 00000000 // Unsigned shift right.

2020-10-18

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值