位运算模板题
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
说明
位运算模板题
有 T 组不同询问,每组询问给出 \(op, x, y\),表示使用第 \(op\) 种操作对 \(x, y\) 进行二进制位运算。
共有 6 种不同的 \(op\),涵义如下:
- \(op=1\):将 \(x\) 右移 \(y\) 位
- \(op=2\):将 \(x\) 左移 \(y\) 位
- \(op=3\):将 \(x\) 的右数第 \(y\) 位(最末位为右数第 1 位,依此类推)强制改为 1
- \(op=4\):将 \(x\) 的右数第 \(y\) 位强制改为 0
- \(op=5\):将 \(x\) 的右数第 \(y\) 位取反
- \(op=6\):截取 \(x\) 的右 \(y\) 位 (即只保留x二进制中的右y位)
输入格式
输入第一行为一个正整数 \(T\)。
接下来 \(T\) 行,每行包括三个正整数 \(op, x, y\),以空格分开。
\(1 \leq op \leq 6, 0 \leq x \leq 2^{63}-1, 1 \leq y \leq 50\)
输出格式
输出 \(T\) 行答案。
样例
输入:
6 1 7 1 2 6 2 3 13 2 4 15 1 5 11 3 6 259 3
输出:
3 24 15 14 15 3
样例