C++中位运算

C++中位运算

<<:二进制位全部左移

n<<2
//左移两位,相当于乘4
2<<n
//相当于n个2相乘,即2的n次方

像判断一个二进制数的某一位是1还是0,需要构造一个掩码

所谓掩码,就是把除了目标位上的所有数字掩盖起来。

比如我想知道11101的第三位(从右往左数)是1还是0

我只需要构造一个掩码1<<3

这个掩码的值是00100

然后让这个掩码与目标数相乘,结果大于0,则这个位上为1

posted @ 2025-01-12 20:32  huigugu  阅读(15)  评论(0)    收藏  举报