【学java的第三天】位运算符 .半截身入土...

关于位运算符在学java的第二天有提到!今天详细的说一下我们亲爱的位运算符(呵呵?)

  1. ~ (位非)翻转操作数的每一位。
  2. & (位与)当且仅当两个操作数的某一位非0时该位才为1
  3. | (位或)只要两个数字的某一位有一个非0时该位就为1
  4. ^ (位异)两个数字的某一位不相同改位1
  5. “<<”(位左移) 左数字位左移右数字指定的数。
  6. “>>” (位右移)左数字位右移左数字指定的数。
  7. “>>>”(位补零右移)左数字的值按右数字指定的位数向右移,移动得到的空位为零填补。

位运算的优先级

~的优先级最高,其次是<<、>>和>>>,再次是&,然后是^,优先级最低的是|


注意1:

在进行位运算时,需要注意以下几点。

(1)>>>>>的区别是:在执行运算时,>>>运算符的操作数高位补0,而**>>运算符的操作数高位移入原来高位的值**。

(2)右移一位相当于除以2,左移一位(在不溢出的情况下)相当于乘以2;移位运算速度于乘除运算。

(3)若进行位逻辑运算的两个操作数的数据长度不相同,则返回值应该是数据长度较长的数据类型。

(4)按位异或可以不使用临时变量完成两个值的交换,也可以使某个整型数的特定位的值翻转。

(5)按位与运算可以用来屏蔽特定的位,也可以用来取某个数型数中某些特定的位。

(6)按位或运算可以用来对某个整型数的特定位的值置l。

注意2:

在Java语言中,二进制数使用补码表示,最高位为符号位,正数的符号位为0,负数为1。补码的表示需要满足如下要求。

(1)正数的最位为0,其余各位代表数值本身(二进制数)。

(2)对于负数,通过对该数绝对值的补码按位取反,再对整个数加1


补充

有使用网上的资源进行补充整合。
还是搜点视频看,不然看字是看不懂的,逻辑鬼才当我没说。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值