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;
    }
相关推荐
爱编程的鱼5 小时前
C# 变量详解:从基础概念到高级应用
java·算法·c#
HalvmånEver5 小时前
红黑树实现与原理剖析(上篇):核心规则与插入平衡逻辑
数据结构·c++·学习·算法·红黑树
哆啦刘小洋6 小时前
T:堆的基本介绍
算法
AresXue6 小时前
你是否也在寻找二进制和字符串的高效转换算法?
算法
Swift社区6 小时前
从 0 到 1 构建一个完整的 AGUI 前端项目的流程在 ESP32 上运行
前端·算法·职场和发展
RTC老炮6 小时前
webrtc弱网-BitrateEstimator类源码分析与算法原理
网络·人工智能·算法·机器学习·webrtc
程序员烧烤6 小时前
【leetcode刷题007】leetcode116、117
算法·leetcode
yanqiaofanhua7 小时前
C语言自学--预处理详解
c语言·开发语言
ghie90907 小时前
基于libsvm的支持向量机在MATLAB中的实现
算法·支持向量机·matlab
杨福瑞8 小时前
C语言⽂件操作讲解(总)
c语言·开发语言