JAVA移位运算符-左移、右移、无符号右移 (简解)

本文详细介绍了Java中的移位运算符,包括左移运算符<<,带符号右移运算符>>以及无符号右移运算符>>>。通过实例展示了它们如何改变数字的二进制表示,从而实现快速的乘除2的幂运算。对于右移运算符,特别指出其在处理负数时的特点。无符号右移则始终得到正数结果。
摘要由CSDN通过智能技术生成

java移位运算符:<<(左移)、>>(带符号右移)和>>>(无符号右移)。

一、左移运算符<<

m<<n 代表把数字m在无溢出的前提下乘以2的n次方。

// 1乘以2的1次方
1<<1   // 2
// 1乘以2的5次方
1<<5   // 32
// 1乘以2的10次方
1<<10  // 1024

二、右移运算符>>

右移m>>n 代表把数字m除以2的n次方,原来是正数的还是正数,负数还是负数。注意,如果是单数,也就是二进制末位为1,则结果是将m除以2的n次方的整数商。

// 1除以2的1次方
1>>1    // 0
// 1除以2的5次方
1>>5    // 0
// 10除以2的1次方
10>>1   // 5
// -10除以2的1次方
-10>>1   // -5

三、无符号右移 >>>

无符号右移运算符“>>>” - 同右移,但是结果全变正数。

  • 把数字转换为二进制 然后进行右移一位 并变成正数

图解:在这里插入图片描述

  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哒不溜-w

别给我打手续费太贵

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值