-
循环左移
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; }
c语言实现循环位移的函数
hdz_nosn20232024-04-18 23:26