#1580. 程序阅读-位运算
程序阅读-位运算
阅读以下程序,完成后面的判断题和选择题:
判断题
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