c语言实现循环位移的函数

  • 循环左移

    c 复制代码
    #include <stdio.h>
    int lefttrot(int x, int n){
        if (n < 0) {
            printf("移动数目不可为负");
            return -1;
        }
        
        n %= 32;
        int book = x & (-1 >> (32 - n));
        return (x >> n) | (book << (32 - n));
    }
    
    int main(){
        printf("%d", lefttrot(-1, 100));
        return 0;
    }
  • 循环右移

    c 复制代码
    #include <stdio.h>
    int righttrot(int x, int n){
        if (n < 0) {
            printf("移动数目不可为负");
            return -1;
        }
        
        n %= 32;
        int book = x >> (32 - n);
        return (x << n) | book;
    }
    
    int main(){
        printf("%d", righttrot(-1, 100));
        return 0;
    }
相关推荐
扶摇接北海1761 分钟前
洛谷:B4477 [语言月赛 202601] 考场安排
数据结构·c++·算法
爱丽_8 分钟前
AQS 的 `state`:volatile + CAS 如何撑起原子性与可见性
java·前端·算法
2301_788770559 分钟前
OJ模拟5
数据结构·算法
羊小猪~~11 分钟前
算法/力扣--字符串经典题目
c++·考研·算法·leetcode·职场和发展·哈希算法
攒了一袋星辰12 分钟前
10万级用户数据日更与定向推送系统的可靠性设计
java·数据库·算法
nap-joker14 分钟前
PIPE4:快速PPI预测器,用于综合的跨物种和跨物种相互作用组
算法·多模态生物医学数据分析·蛋白质互作网络
磊 子22 分钟前
类和对象—>析构+拷贝+运算符重载
开发语言·c++·算法
人道领域23 分钟前
LeetCode【刷题日记】:数组篇(1)含原理讲解
算法·leetcode·职场和发展
RTC老炮28 分钟前
webrtc弱网-BBRv2算法原理
网络·算法·webrtc
RTC老炮28 分钟前
webrtc弱网-BBRv1算法原理
网络·算法·webrtc