当前位置:嗨网首页>书籍在线阅读

17-按位运算符

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

B.2.9 按位运算符

下面所列除了~,都是按位运算符。

~ 是一元运算符,它通过翻转运算对象的每一位得到一个值。

& 是逻辑与运算符,只有当两个运算对象中对应的位都为 1 时,它生成的值中对应的位才为 1

| 是逻辑或运算符,只要两个运算对象中对应的位有一位为 1 ,它生成的值中对应的位就为 1

^ 是按位异或运算符,只有两个运算对象中对应的位中只有一位为 1 (不能全为 1 ),它生成的值中对应的位才为 1

<< 是左移运算符,把左边运算对象中的位向左移动得到一个值。移动的位数由该运算符右边的运算对象确定,空出的位用 0 填充。

>> 是右移运算符,把左边运算对象中的位向右移动得到一个值。移动的位数由该运算符右边的运算对象确定,空出的位用 0 填充。

示例

假设有下面的代码:

int x = 2;
int y = 3;

x & y 的值为 2 ,因为 xy 的位组合中,只有第 1 位均为 1 。而 y << x 的值为 12 ,因为在 y 的位组合中, 3 的位组合向左移动两位,得到 12