java的位运算符

(1)按位操作符

用来对单个bit,即二进制位进行操作。它会对两个参数中对应的位执行布尔代数运算,并生成结果。它可以直接操纵硬件。

有与(&),或(|),非(~),异或(^),另外可以=一起使用,比如&=,|=, ^=,但没有~=,因为它是一元的。

(2)移位操作符

操作对象也是bit,只可以用来处理整数类型。

左移(<<)按照它右侧的位数将操作符左边的操作数向左移动(在低位补0),“有符号”右移操作符(>>)亦是如此,只是要使用“符号拓展”:若符号为正,则在高位插入0,若符号为负,则在高位插入1.另外,还有一种“无符号”右移位操作符(>>>),它使用“零扩展”:无论正负,都在高位插入0。

如果对char,byte,short进行移位处理,会在移位之前被转换为int类型,并且得到的结果也是int类型的值。只有数值右端的低5位才有用。这样可防止我们移位超过int型所具有的位数。(因为2的5次方是32,而int只有32位)。若对一个long类型的数值进行处理,最后得到long型,此时只会用到数值右端的低6位。

同样可以与“=”一起使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值