#12084. 珅泽教育CSP-J第一轮模拟考第二十一套 第 19 题

珅泽教育CSP-J第一轮模拟考第二十一套 第 19 题

二、阅读程序(判断题正确填 T,错误填 F;除特殊说明外,判断题 1.5 分,选择题 3 分,共计 40 分)

程序(1)

#include <bits/stdc++.h>
using namespace std;
int x, y;
unsigned int n;
int main() {
    cin >> n >> x >> y;
    unsigned int mask = 0xff;
    int x8 = x << 3;
    int y8 = y << 3;
    unsigned int nx = (n >> x8) & mask, ny = (n >> y8) & mask;
    n &= (~(mask << x8));
    n &= (~(mask << y8));
    n |= (nx << y8);
    n |= (ny << x8);
    cout << "0x";
    cout << std::hex << n << endl;
    return 0;
}

假设输入的 nn 是 32 位无符号整数范围内的整数,x,yx,y 是不超过 3 的自然数。

当输入为 15078 0 1 时,变量 nx,ny 的值分别是多少?(提示:十进制数 15078 与十六进制数 3AE6 相同)

{{ select(1) }}

  • 0xE6, 0x3A
  • 0x6, 0xE0
  • 0x6, 0xE
  • 0x6, 0xA