0
点赞
收藏
分享

微信扫一扫

C++:C++位操作符常用基本手法及应用








基本:
1, & 与位运算符 两者同是为1才为1,否则为0
2, |  或位运算符 两者有一个1(至少一个为1)就为1,否则为0
3,  ^  亦或运算符 两者有一个1(必须一个为1,一个为0)就为1,否则为0
4, ~ 求反运算符,为二进制求反,在二进制的基础上,每一位上为1的变成0,每一位上为0的变成1
以上都是以二进制基础运算的
5, ! 非
 
运用:
1,变量 value 打开 某个位 n

value = value | (1 << n)

可简化:


value |= (1 << n)

2,变量 value 关闭 某个位 n


value = value & ~(1 << n)

可简化:


value &= ~(1 << n)

3,变量 value 切换 某个位 n


value = value ^ (1 << n)

可简化:


value ^= (1 << n)

4, 测试 变量 value 中的某位 n 是否为 1


if ((value & (1 << n)) == (1 << n))
{
}

可简化为:





if (value & (1 << n))
{<span style="font-family: Arial, Helvetica, sans-serif; line-height: 19.2000007629395px;"> </span>

}




这种手法应用比较广泛,如



如储存状态,例:一个月中每一天对应的状态,可以申明一个unsigned int 变量(这里指32位),



修改储存状态用上述手法即可!




运算符的替代表示:



C++:C++位操作符常用基本手法及应用_运算符











举报

相关推荐

0 条评论