2951. 循环移位

Twisted9

位运算

include

using namespace std;

int main()
{
unsigned int a,n,t;
cin >> a >> n;
t = (a << (32-n)) | (a >> n);
cout << t;
}

Fifnmar

我来实现上面大佬的想法

#include <iostream>
using namespace std;

int main() {
    cin.tie(0);
    ios::sync_with_stdio(0);
    unsigned a, n;
    cin >> a >> n;
    n %= sizeof(unsigned) * 8;
    cout << (a >> n) + ((a % (1 << n)) << (sizeof(unsigned) * 8 - n)) << '\n';
}
WHYNBNB

位运算真神奇

提醒一下:
用好<<和>>以及|能大大的简便

你当前正在回复 博客/题目
存在问题!