位运算相关(二)——位运算的简单变换操作
前言 什么是位运算
请自行参考位运算相关(一)——位运算学习笔记
对末位的操作
(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)\)
待到再迷茫时回头望,所有脚印会发出光芒