#6150. gesp三级真题分类二:位运算
gesp三级真题分类二:位运算
位运算(共20题)
- 表达式
(5 & 3) | (2 ^ 1)的值是( ) {{ select(1) }}
- 3
- 5
- 7
- 1
- 已知
int a = 12,执行a = a >> 2后,a 的值是( ) {{ select(2) }}
- 3
- 48
- 0
- 1
- 下列哪种位运算可以实现无临时变量交换两个整数变量的值?( ) {{ select(3) }}
a = a + b; b = a - b; a = a - b;a = a ^ b; b = a ^ b; a = a ^ b;a = a | b; b = a & b; a = a | b;a = a & b; b = a | b; a = a & b;
~5在 32 位系统下的结果是( ) {{ select(4) }}
- -6
- -5
- 2
- 0
- 判断一个整数
x是否为偶数的最快位运算方法是( ) {{ select(5) }}
x % 2 == 0(x & 1) == 0(x >> 1) << 1 == xx ^ 1 == x + 1
- 若
int a = 0b1010,则a << 1的值是( ) {{ select(6) }}
- 20
- 10
- 5
- 40
- 对于任意非负整数
n,n & (n-1)的作用是( ) {{ select(7) }}
- 判断 n 是否为 2 的幂
- 清除 n 的最低位的 1
- 获取 n 的最高位
- 将 n 加 1
- 表达式
7 | 9的值是( ) {{ select(8) }}
- 15
- 7
- 9
- 1
- 表达式
(8 ^ 12)的值是( ) {{ select(9) }}
- 4
- 8
- 12
- 6
- 若
int a = 0b1100,int b = 0b1010,则a & b的值是( ) {{ select(10) }}
- 0b1000
- 0b1100
- 0b1010
- 0b1110
- 下列代码输出结果是( )
{{ select(11) }}int x = 5; cout << (x << 1);
- 5
- 10
- 2
- 1
(3 << 2) == 12成立。( ) {{ select(12) }}
- 正确
- 错误
(8 >> 1) + (8 & 1) == 5。( ) {{ select(13) }}
- 正确
- 错误
- 异或运算满足交换律和结合律。( ) {{ select(14) }}
- 正确
- 错误
(~0) == -1在补码表示下总是成立。( ) {{ select(15) }}
- 正确
- 错误
- 位运算优先级高于算术运算。( ) {{ select(16) }}
- 正确
- 错误
(a ^ b) ^ b == a对所有整数 a,b 成立。( ) {{ select(17) }}
- 正确
- 错误
(a & ~a) == 0对所有整数 a 成立。( ) {{ select(18) }}
- 正确
- 错误
(a | 0) == a对所有整数 a 成立。( ) {{ select(19) }}
- 正确
- 错误
(a >> 1) << 1 == a对所有整数 a 成立。( ) {{ select(20) }}
- 正确
- 错误