笔记-位运算

奇数的最低位是1 ,偶数的最低位是0

1左移到要确定的位置上

做三次异或运算

题1:找出数组中唯一重复的数字

关键在于 异或的性质 A ^ A = 0 , A ^ 0 = A 

数组:1 2 3 2

// 1 2 3 4 2 5 6 7 8
// 1 2 3 4 5 6 7 8

题5:交换一个整数的奇偶位

关键在于理解与运算下:

1 保留 0 消除 

一个数 与 0xaaaaaaaa(1010 1010 ...) 取出偶数位

一个数 与 0x55555555(0101 0101 ...) 取出奇数位

此时 c 左移一位 d右移一位 二者再做异或运算即可完成呼唤

如果 c d 做 与运算 则恢复 整数

题6:

对于整数取转2进制, 只需要不断对2取模 直至取0

对于小数转2进制,只需要不断对乘2,取整数位,直至取0;

【蓝桥杯】· 位运算的奇巧淫记及其实战 - 知乎

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值