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;
    }
相关推荐
洛水水4 分钟前
【力扣100题】48.乘积最大子数组
算法·leetcode·职场和发展
小小de风呀4 分钟前
de风——【从零开始学C++】(七):string类详解
开发语言·c++·算法
YL200404264 分钟前
042将有序数组转换为二叉搜索树
数据结构·算法·leetcode
Dlrb12114 分钟前
C语言-结构体
c语言·数据结构·结构体·内存对齐·结构体大小计算
爱编码的小八嘎7 分钟前
C语言完美演绎9-29
c语言
qq_296553278 分钟前
矩阵对角线遍历:从暴力到最优的优雅解法
数据结构·线性代数·算法·青少年编程·矩阵·深度优先遍历
洛水水9 分钟前
【力扣100题】50.最长有效括号
算法·leetcode·职场和发展
数智工坊10 分钟前
【BLIP论文阅读】:统一视觉语言理解与生成的自举式预训练范式
论文阅读·人工智能·深度学习·算法·transformer
yyy(十一月限定版)11 分钟前
问题解决策略搜索训练3
算法
吃好睡好便好13 分钟前
在Matlab中绘制圆锥三维曲面图
开发语言·人工智能·学习·算法·matlab·信息可视化