poj 3748位操作

来源:互联网 发布:手机英语口语交流软件 编辑:程序博客网 时间:2024/05/18 23:54

把右数第 K位变成 1:x=x|(1<<(k-1));

把右数第 K位变成 0:x=x&~(1<<(k-1));

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;


int main()
{
    int r,x,y;
    scanf("%x",&r);
    getchar();
    cin>>x;
    getchar();
    cin>>y;
    r=r&~(1<<(x));
    r=r|(1<<(y));
    r=r|(1<<(y-1));
    r=r&~(1<<(y-2));
    printf("%x\n",r);
    return 0;
}

原创粉丝点击