位运算功能大全

去掉最后一位
示例:10110110110
位运算:x>>1

在最后加一个0
示例:(1011011011010)
位运算:x<<1

在最后加一个1
示例:(1011011011011)
位运算:(x<<1)+1

把最后一位变成1
示例:(101100101101)
位运算:x|1

把最后一位变成0
示例:101101101100
位运算:(x|1)1

最后一位取反
示例:(101101101100)
位运算:x1

把右数第k位变成1
示例:(101001101101,k=3)
位运算:x|(1<<(k1))

把右数第k位变成0
示例:(101101101001,k=3)
位运算:x and  (1<<(k1))

右数第k位取反
示例:(101001101101,k=3)
位运算:x(xor(1<<(k1)))

取整数n在二进制表示下的第k位
位运算:(n>>k) and 1

取整数n在二进制表示下的后k位
位运算:n and ((1<<k)1)

取末k位
示例:(11011011101,k=4)
位运算:x and ((1<<k)1)

取右数第k位
示例:(11011011,k=4)
位运算:x>>(k1) and 1

把末k位变成1
示例:(101001101111,k=4
位运算:x|((1<<k)1)

末k位取反
示例:(101001100110,k=4
位运算:x xor ((1<<k)1)

把右边连续的1变成0
示例:(100101111100100000)
位运算:x and (x+1)

把右起第一个0变成1
示例:(100101111100111111
位运算:x|(x+1)

把右边连续的0变成1
示例:(1101100011011111)
位运算:x|(x1)

取右边连续的1
示例:(1001011111111)
位运算:(x xor (x+1))>>1

去掉右起第一个1的左边
示例:(1001010001000)
位运算:x and (x xor (x1))

posted @   Luvwgyx  阅读(333)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示