Problem A: [CSP-S1][选择] 位运算2

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:34 Solved:7

Description

1. 若 x 是一个无符号整数,下列哪个操作等价于 x % 16?( )

A. x & 15

B. x >> 4

C. x | 15

D. x << 4



2. 以下代码的输出是( )。

int a = 0b1100;  

int b = 0b1010;  

cout << (a & ~b);  

A. 0b1000

B. 0b0100

C. 0b0010

D. 0b1100



3. 下列哪个表达式可以将整数 n 的第3位(从右往左,第0位开始)设置为1?( )

A. n |= (1 << 3)

B. n &= ~(1 << 3)

C. n ^= (1 << 3)

D. n >>= 3



4. 若 x = 10,则 x << 2 + x >> 1 的结果是( )。

A. 40

B. 42

C. 20

D. 20480



5. 以下代码的输出是( )。

unsigned int a = 0xFFFF;  

cout << (a ^ (a << 8));  

A. 0xFF0000

B. 0x00FF00

C. 0xFF00FF

D. 0x00FFFF



6. 表达式 ~0U >> 1(U表示无符号)的结果是( )。

A. 最大无符号整数的一半

B. 0

C. 1

D. 最大无符号整数



7. 下列哪个操作可以判断整数 n 是否是2的幂?( )

A. n & (n - 1) == 0

B. n % 2 == 0

C. n | (n - 1) == n

D. n ^ (n >> 1) == 0



8. 若 a = 5(0101),b = 3(0011),则 a & b | a ^ b 的结果是( )。

A. 7(0111)

B. 5(0101)

C. 3(0011)

D. 1(0001)



9. 以下代码的功能是( )。

int func(int x) {  

   return x & (x - 1);  

}  

A. 将 x 的最低位的1置0

B. 计算 x 的二进制长度

C. 判断 x 是否为奇数

D. 交换 x 的相邻位



10. 表达式 (0b1010 >> 1) | (0b1010 << 1) 的结果是( )。

A. 0b10101

B. 0b01111

C. 0b00000

D. 0b01010



Sample Input Copy


Sample Output Copy