#5854. 位运算专项练习1
位运算专项练习1
单选题(15道)
- 在8位补码表示下,表达式 ~5 的结果是:{{ select(1) }}
- 250
- -6
- 122
- -122
- 表达式 13 & 7 的结果是:{{ select(2) }}
- 15
- 5
- 20
- 8
- 表达式 12 | 6 的结果是:{{ select(3) }}
- 14
- 4
- 18
- 10
- 表达式 15 ^ 7 的结果是:{{ select(4) }}
- 8
- 22
- 12
- 0
- 在8位补码表示下,表达式 -4 >> 1 的结果是:{{ select(5) }}
- -2
- 126
- 2
- -1
- 表达式 9 << 2 的结果是:{{ select(6) }}
- 18
- 11
- 36
- 27
- 以下哪个表达式可以判断一个整数x是否为偶数?{{ select(7) }}
- x | 1
- x & 1
- x ^ 1
- ~x
- 表达式 0x0F & 0x55 的结果是:{{ select(8) }}
- 0x05
- 0x50
- 0x55
- 0x0F
- 在8位补码表示下,表达式 ~0 的结果是:{{ select(9) }}
- 0
- 255
- -1
- 1
- 表达式 (1 << 3) - 1 的结果是:{{ select(10) }}
- 3
- 7
- 8
- 15
- 以下哪个表达式可以将变量x的最低4位清零?{{ select(11) }}
- x & 0xF0
- x | 0xF0
- x ^ 0xF0
- x & ~0x0F
- 在8位补码表示下,表达式 -1 << 2 的结果是:{{ select(12) }}
- -4
- 252
- -8
- 248
- 表达式 (0xFF ^ 0xAA) & 0x55 的结果是:{{ select(13) }}
- 0x55
- 0xAA
- 0x00
- 0xFF
- 以下哪个表达式可以交换两个变量x和y的值(不使用临时变量)?{{ select(14) }}
- x = y; y = x;
- x ^= y; y ^= x; x ^= y;
- x &= y; y &= x; x &= y;
- x |= y; y |= x; x |= y;
- 在8位补码表示下,表达式 127 + 1 的结果是:{{ select(15) }}
- 128
- -128
- 0
- 255
判断题(10道)
- 在C++中,表达式 x << 1 等价于 x * 2。{{ select(16) }}
- 正确
- 错误
- 对于任意正整数x,表达式 x & (x - 1) 可以判断x是否是2的幂。{{ select(17) }}
- 正确
- 错误
- 在8位补码表示下,右移操作 >> 对于负数总是进行算术右移(高位补符号位)。{{ select(18) }}
- 正确
- 错误
- 表达式 ~x 等价于 -x。{{ select(19) }}
- 正确
- 错误
- 对于任何整数x,表达式 (x ^ ~x) 的结果总是全1的位模式。{{ select(20) }}
- 正确
- 错误
- 在8位补码表示下,表达式 -128 >> 1 的结果是-64。{{ select(21) }}
- 正确
- 错误
- 表达式 x | (x + 1) 总是将x的最低有效0位设置为1。{{ select(22) }}
- 正确
- 错误
- 对于正整数x,表达式 x & -x 可以得到x的最低有效1位。{{ select(23) }}
- 正确
- 错误
- 在8位补码表示下,表达式 ~0 >> 1 的结果是127。{{ select(24) }}
- 正确
- 错误
- 表达式 (x & y) + (x | y) 等价于 x + y。{{ select(25) }}
- 正确
- 错误