#48. 初赛之位运算专题

初赛之位运算专题

  1. 以下哪个编码不能表示数字()

{{ select(1) }}

  • [00000000][00000000]
  • [11111111][11111111]
  • [10000000][10000000]
  • [10000000][10000000]
  1. C++ 程序中,表达式 130 | 10 的值为

{{ select(2) }}

  • 1313
  • 11
  • 120120
  • 138138
  1. C++ 语言中,表达式 23 | 2 ^ 5 的值是( )

{{ select(3) }}

  • 1818
  • 11
  • 2323
  • 3232
  1. C++ 程序中,表达式 200 | 10 的值是()。

{{ select(4) }}

  • 2020
  • 11
  • 220220
  • 202202
  1. 二进制数 00101100001011000101010101010101 异或的结果是()

{{ select(5) }}

  • 0010100000101000
  • 0111100101111001
  • 0100010001000100
  • 0011100000111000
  1. 二进制数 11 1011 1001 011111\ 1011\ 1001\ 011101 0110 1110 101101\ 0110\ 1110\ 1011 进行按位与运算的结果是()。

{{ select(6) }}

  • 01 0010 1000 101101\ 0010\ 1000\ 1011
  • 01 0010 1001 001101\ 0010\ 1001\ 0011
  • 01 0010 1000 000101\ 0010\ 1000\ 0001
  • 01 0010 1000 001101\ 0010\ 1000\ 0011
  1. x = true, y = true, z = false,以下逻辑运算表达式值为真的是()

{{ select(7) }}

  • (yz)xz(y\lor z)\land x\land z
  • x(zy)zx\land (z\lor y)\land z
  • (xy)z(x\land y)\land z
  • (xy)(zx)(x\land y)\lor (z\land x)
  1. mask = 0xFFn = 3AE6,则 (n >> 8) & mask 的结果是什么?

{{ select(8) }}

  • 0x3A
  • 0xAE
  • 0xE6
  • 0x36
  1. 执行以下代码的结果是()
int n = 13, res = 0;
for (; n; n &= n - 1) 
{
    res++;
}
cout << res;

{{ select(9) }}

  • 1
  • 2
  • 3
  • 4
  1. 执行以下代码的结果是()
int n = 13;
cout << (n & -n);

{{ select(10) }}

  • 1
  • 2
  • 3
  • 4
  1. 88 位二进制补码中,1010101110101011 表示的数是十进制下的()

{{ select(11) }}

  • 4343
  • 85-85
  • 43-43
  • 84-84
  1. -13 & -16 的值是多少?

{{ select(12) }}

  • 13-13
  • 14-14
  • 15-15
  • 16-16