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;
    }
相关推荐
叶子野格3 分钟前
《C语言学习:编程例题》8
c语言·开发语言·c++·学习·算法·visual studio
澈2074 分钟前
排序算法入门:冒泡、选择、插入排序详解
数据结构·算法·排序算法
smj2302_796826528 分钟前
解决leetcode第3901题好子序列查询
python·算法·leetcode
_深海凉_10 分钟前
LeetCode热题100-每日温度
算法·leetcode·职场和发展
HockerF11 分钟前
cpu原理到c/c++指针
c语言·c++
迷你可可小生13 分钟前
面经学习(二)
学习·算法
John.Lewis14 分钟前
C++加餐课-二叉树:进阶算法
数据结构·c++·算法
郝学胜-神的一滴23 分钟前
ReLU激活函数全解析:从原理到实战,解锁深度学习核心激活单元
人工智能·pytorch·python·深度学习·算法
AGV算法笔记27 分钟前
最新感知算法论文分析:RaCFormer 如何提升雷达相机 3D 目标检测性能?
数码相机·算法·3d·自动驾驶·机器人视觉·3d目标检测·感知算法
脱氧核糖核酸__29 分钟前
LeetCode热题100——54.螺旋矩阵(题解+答案+要点)
c++·算法·leetcode·矩阵