Problem B: [CSP-S1][选择] 位运算1

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:59 Solved:9

Description

1. 在C++中,表达式 (15 ^ 9) & 12 的值是( )。

A. 4

B. 8

C. 12

D. 0


2. 若 x 是一个整数,下列哪个表达式可以判断 x 的二进制表示中最低位是否为1?( )

A. x % 2 == 0

B. x & 1

C. x >> 1

D. x | 1


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

int a = 10; // 二进制 1010  

int b = 6;  // 二进制 0110  

cout << (a | b);  

A. 4

B. 14

C. 12

D. 8


4. 下列哪个操作可以将整数 n 的最右侧的1变为0?( )

A. n ^ (n - 1)

B. n & (n - 1)

C. n | (n - 1)

D. n << 1


5. 表达式 (1 << 3) - 1 的二进制结果是( )。

A. 00000111

B. 00001000

C. 00001111

D. 00000110


6. 若 x = 0x0F(十六进制),则 x & ~0x03 的结果是( )。

A. 0x0C

B. 0x0F

C. 0x03

D. 0x00


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

int count = 0;  

while (n) {  

   count++;  

   n &= (n - 1);  

}  

A. 计算 n 的二进制中0的个数

B. 计算 n 的二进制中1的个数

C. 将 n 的最低位翻转

D. 判断 n 是否为2的幂


8. 两个整数 a 和 b 的汉明距离是指其二进制表示中不同位的数量。若 a = 9(1001),b = 12(1100),则汉明距离是( )。

A. 1

B. 2

C. 3

D. 4


9. 以下哪个表达式可以提取整数 n 的最右侧的1(Lowbit)?( )

A. n & (-n)

B. n | (~n)

C. n ^ (n - 1)

D. n << 1


10. 表达式 (0xAA & 0x55) | (0xAA ^ 0x55) 的结果是( )。

A. 0x00

B. 0xFF

C. 0xAA

D. 0x55



Sample Input Copy


Sample Output Copy