Java中位运算与原反补码

位运算种类

与(&)、或(|)、非(~)、异或(^),原码,反码,补码

对与(&)、或(|)、非(~)、异或(^)的理解

什么是"位"

什么是位运算

将数按照位进行运算

定义

| 全为0结果为0,否则结果为1

& 全为1结果为1,否则结果为0

^ 相异结果才为1,相同结果为0

~ 按位取反

规律

  • 任何一个数与0相与(&)结果都是0
  • 0,1与0相与的结果都为0    想要将数置为零可以与0相与

例 111010011101 & 000000000000 = 0

  • 0,1与1相与的结果还是0,1本身     想要数保持不变,可以用数与所有位上都为1的数相与

例 100101 & 111111 = 100101

  • 0,1与0相或的结果还是0,1本身     想要数保持不变,可以用数与0相或

例 11110101011001 | 00000000000000 = 11110101011001

  • 0,1与1相或的结果全部变为1     拿一个数与所有位上的数为1的数相或,结果所有位上的数全部置为1

例 11110101011001 | 1111111111111 = 11111111111111

左移(<<),右移(>>),无符号右移(>>>)

<<      :     左移运算符,num << 1,相当于num乘以2

>>      :     右移运算符,num >> 1,相当于num除以2

>>>    :     无符号右移,忽略符号位,空位都以0补齐

原码,反码,补码的计算方式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值