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;
    }
相关推荐
少许极端15 分钟前
算法奇妙屋(三十三)-DFS的记忆化搜索
算法·深度优先·记忆化搜索
WolfGang00732129 分钟前
代码随想录算法训练营 Day13 | 二叉树 part03
数据结构·算法·leetcode
进击的小头31 分钟前
第11篇:频率响应绘制方法——伯德图(Bode Plot)
python·算法
2401_8830354631 分钟前
C++20概念(Concepts)入门指南
开发语言·c++·算法
fengci.1 小时前
PolarD&N困难补充
算法
91刘仁德1 小时前
C++ 内存管理
android·c语言·数据结构·c++·经验分享·笔记·算法
sali-tec1 小时前
C# 基于OpenCv的视觉工作流-章38-BF特征匹配
图像处理·人工智能·opencv·算法·计算机视觉
历程里程碑1 小时前
链表-----
数据结构·线性代数·算法·链表·矩阵·lua·perl
一叶落4381 小时前
167. 两数之和 II - 输入有序数组【C语言题解】
c语言·数据结构·算法·leetcode
地平线开发者1 小时前
征程6 MCU safetylib sample
算法·自动驾驶