算法入门(1)-位运算基础

2 篇文章 0 订阅
1 篇文章 0 订阅

下学期学算法,在网上报了个小课,在此记录一些笔记。比较杂乱,还望见谅。
位运算介绍
1.<<——左移,1011->10110,加一个0,相当于乘2。(位运算的操作直接对内存,速度比直接运算稍微快些,某种程度上可以取代直接运算)
2.>>——右移,1011->101,直接舍弃,相当于/2。
3.|——或运算。
4.&——与运算。
5.~——取反运算。
6.^——异或运算。(任何一个数, ^0不变, ^1取反)
对int型的数据进行位运算又要装换成二进制码,这又涉及到反码,补码等等,比较多,感兴趣的可自行去了解。
一定要注意位运算的优先级问题!!!容易被坑!!!
在这里插入图片描述
下面给出一点位运算的基础题目
1.去掉最后一位
——x>>1
2.在最后一位加一个0
——x<<1
3.在最后加一个1
——(x<<1)+1或(x<<1)|1
4.把最后一位变成1
——x|1
5.把最后一位变成0
——(x|1)-1
6.最后一位取反
——x^1
7.把右数第k位变成1
——x|(1<<k-1)
8.把右数第k位变成0
——x&(~(1<<k-1))
9.右数第k位取反
——x^(1<<k-1)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值