前言 什么是位运算
请自行参考位运算相关(一)——位运算学习笔记
对末位的操作
(1)去掉末位——(x>>1)
(2)增加末位——增加(0):(x<<1),增加(1):(x<<1|1)
(3)改变末位——改成(0):((x|1)-1),改成(1):(x|1),取反:(x)^(1)
对右数第k位的操作
(1)改成(0):(x&()~((1<<k)))
(2)改成(1):(x|(1<<k))
(3)取反:(x)^((1<<k))
(4)取右数第(k)位:((x>>k)&1)
对末k位的操作
(1)改成(1):(x|((1<<k)-1))
(2)取反:(x)^(((1<<k)-1))
(3)取末(k)位:(x&((1<<k)-1))