浅谈位运算

一 数学基础

 在离散数学 高考数学里我们知道了逻辑关系,如 “与”“ 或 ”“非”,而在计算机中,用1代表真,0代表假

1 “与”(and) &

需要两个数都为真,才为真
位运算表示为

1 1 1
1 0 0
ans=1 0 0

2 “或”(or) |

有一个为真,则为真
位运算表示为

1 1 1
1 0 0
ans=1 1 1

3 “非”(not) ~

也就是按位取反,真变假,假变真

1 1 1
0 0 0

在计算机中只有这种逻辑运算

4 “异或”

只要两个真假不一,则为真

1 1 1
1 0 0
ans=0 1 1

二 左移<<   右移>>

左移就是对某个数左移x相当于乘以 2 n 2^n 2n
而右移相当于除以 2 n 2^n 2n

而在二进制中

1<<31000
通过x&(1<<3)可以判断在x二进制的第四位是否为1
x&((1<<n1-1)-(1<<n2-1))可以对x进行取位操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值