位运算总结以及空间换时间1

本文总结了位运算的基本操作,包括与(&),或(|),异或(^),取反(~)以及移位(<<, >>)。还探讨了如何通过位运算进行二进制位的变换,如设置、清除、翻转特定位。此外,文章介绍了利用位运算解决经典算法问题,如找到数组中只出现一次的数字和统计字节中1的个数。" 121296799,8427227,数据分析面试经验分享与技巧,"['数据分析', '机器学习', 'Python', 'SQL', '统计']
摘要由CSDN通过智能技术生成

位总结:

1、位运算符号&,|,^,~(取反,不分正负数),<<(标准规定在右边补0),>>(正数则左边补0,负数标准没有规定在左边补充的数字,分为逻辑右移和算术右移,具体由编译器决定,windows平台和gcc采取算术右移即负数补1)
12 0000 1100
13 0000 1101
~12 1111 0011
12&13 0000 1100
12|13 0000 1101
12^13 0000 0001
12>>1 00000 110 6=12/2
12<<1 000 11000 24=12*2
2、常见的二进制位的变换操作
下面列举了一些常见的二进制位的变换操作。
去掉最后一位 | (101101->10110) |
在最后加一个0 | (101101->1011010) |
在最后加一个1 | (101101->1011011) |
把最后一位变成1 | (101100->101101) |
把最后一位变成0 | (101101->101100) |
最后一位取反 | (101101->101100) |
把右数第k位变成1 | (101001->101101,k=3) |
把右数第k位变成0 | (101101->101001,k=3) |
右数第k位取反 | (101001->101101,k=3) |
取末三位 | (1101101->101) |
取末k位 | (1101101->1101,k=4) |
取右数第k位 | (1101101->1,k=4) |

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值