相关疑难解决方法(0)

C中任何整数的旋转位

将整数 2 传递给此函数,然后返回一个整数 4

x = 2;
x = rotateInt('L', x, 1); 
Run Code Online (Sandbox Code Playgroud)

(左移1位)

示例:00000010 -> 向左旋转 1 -> 00000100

但如果我通过这个:

x = rotateInt('R', x, 3); 
Run Code Online (Sandbox Code Playgroud)

它将返回 64, 01000000

这是代码,有人可以纠正错误...谢谢

int rotateInt(char direction, unsigned int x, int y)
{
    unsigned int mask = 0;
    int num = 0, result = 0;
    int i;

    for (i = 0; i < y; i++)
    {     
        if (direction == 'R')
        {
            if ((x & 1) == 1)     
                x = (x ^ 129);
            else    
                x = …
Run Code Online (Sandbox Code Playgroud)

c integer rotation bit

1
推荐指数
2
解决办法
2万
查看次数

标签 统计

bit ×1

c ×1

integer ×1

rotation ×1