位运算(代言人GR
题目传送门
题目
Description
这是一道位运算模板题。
有T组不同询问,每组询问给出 op,x,yop,x,y,表示使用第 opop 种操作对 x,yx,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 位
Input Format
输入第一行为一个正整数
接下来
Output Format
输出 T 行答案(答案在 long long
范围内)。
Sample
输入
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
Code
#include <bits/stdc++.h>
#define int long long
using namespace std;
int t;
signed main(){
scanf("%lld",&t);
while(t--){
int op,x,y;
scanf("%lld%lld%lld",&op,&x,&y);
if(op==1) printf("%lld\n",x>>y);
if(op==2) printf("%lld\n",x<<y);
if(op==3) printf("%lld\n",x|(1ll<<(y-1ll)));
if(op==4) printf("%lld\n",x&~(1ll<<(y-1ll)));
if(op==5) printf("%lld\n",x^(1ll<<(y-1ll)));
if(op==6) printf("%lld\n",x&(1ll<<y)-1ll);
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现