#1580. 程序阅读-位运算

程序阅读-位运算

阅读以下程序,完成后面的判断题和选择题:

image

判断题

1、删除第5行和第11行的unsigned,程序行为不变( )。 {{ select(1) }}

2、将第5行和第11行的short改为char,程序行为不变( )。 {{ select(2) }}

3、程序总是输出一个整数0( )。 {{ select(3) }}

4、当输入两个整数 5 6 时,输出一个整数22( )。 {{ select(4) }}

5、当输入两个整数 7 3 时,输出一个整数35( )。 {{ select(5) }}

选择题

6、当输入两个整数 10 4 时,输出为( )。 {{ select(6) }}

  • 80
  • 56
  • 23
  • 19

7、程序中的第8行: a = ((a | (a << 3)) & 0x5A); 主要作用是( )。 {{ select(7) }}

  • 将 a 右移3位并清零最低位。
  • 使 a 仅保留0x5A 位掩码中的有效位
  • 使 a 变为 a | 0x5A
  • 使 a 取反

8、如果输入 b = 0xF,则 b = ((b & (b << 2) | 0x14; 运算后b的值为( )。 {{ select(8) }}

  • 20
  • 15
  • 21
  • 28

9、程序中的第12行: result = a ^ (b >> 1); 主要作用是( )。 {{ select(9) }}

  • 计算a和b按位与运算。
  • 计算a和b的异或,并使b右移1位。
  • 计算a和b的按位异或运算
  • 计算a和b的按位左移运算

10、修改程序中的第9行为 b = ((b | (b << 2) & 0x14; 可能导致的影响是( )。 {{ select(10) }}

  • b的位掩码可能变得更复杂。
  • b会直接清零。
  • b的二进制位减小
  • b可能变为0x14

11、在程序执行过程中,result的值最大不会超过( )。 {{ select(11) }}

  • 15
  • 255
  • 31
  • 65535