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;
    }
相关推荐
泛凡(Linyongui)4 分钟前
PY32F002B实践之四--宠物腹背理疗仪项目踩坑及项目总结复盘
c语言·keil·32位单片机·腹背理疗仪项目实践·普苒py32
旖-旎6 分钟前
哈希表(存在重复元素||)(4)
数据结构·c++·算法·leetcode·哈希算法·散列表
Hello小赵8 分钟前
C语言如何自定义链接库——编译与调用
android·java·c语言
Run_Teenage8 分钟前
Linux:认识信号,理解信号的产生和处理
linux·运维·算法
無限進步D23 分钟前
蓝桥杯赛前刷题
c++·算法·蓝桥杯·竞赛
CoderCodingNo25 分钟前
【GESP】C++二级真题 luogu-B4497, [GESP202603 二级] 数数
开发语言·c++·算法
磊 子28 分钟前
八大排序之冒泡排序+选择排序
数据结构·算法·排序算法
We་ct29 分钟前
LeetCode 50. Pow(x, n):从暴力法到快速幂的优化之路
开发语言·前端·javascript·算法·leetcode·typescript·
JaneHan_31 分钟前
STM32CubeMX+HAL+Keil5 PWM呼吸灯
c语言·stm32·单片机
潇洒畅想34 分钟前
1.1 从∑到∫:用循环理解求和与累积
java·数据结构·python·算法