Java位移运算

1. [b]<< 左移[/b]
数学意义:在数字没有溢出的前提下,对于正数和负数,左移一位相当于乘以2的1次方,左移n位相当于乘以2的n次方。
比如 [b]5 << 2 = 5 * 2的2次方 = 5 * 4[/b]
2. [b]>> 右移[/b]
数学意义:在数字没有溢出的前提下,对于正数和负数,右移一位相当于除以2的1次方, 右移n位相当于除以2的n次方。
比如 [b]11 >> 2 = 11 / 2的2次方 = 11 / 4[/b]
3. [b]>>> (无符号右移)[/b]
int a = 8;
int b = 32;
a >>> b 等价于 a >>> (b%32)


举例:
1.用位移运算符来实现 i * 100
<1>. 100 = 64 + 32 + 4
<2>. 所以 i * 100 可以这样来表示: ( i << 6 ) + ( i << 5 ) + ( i << 2 )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值