C中的位移位

C中的位移位,第1张

概述int x = 2;x = rotateInt('L', x, 1); // should return 4x = rotateInt('R', x, 3); // should return 64 这是代码,有人可以检查它,让我知道错误是什么? 编译成功,但在执行时会显示Segmentation Fault. int rotateInt(char direction, unsigned
int x = 2;x = rotateInt('L',x,1); // should return 4x = rotateInt('R',3); // should return 64

这是代码,有人可以检查它,让我知道错误是什么?

编译成功,但在执行时会显示Segmentation Fault.

int rotateInt(char direction,unsigned int x,int y){  int i;  for(i = 0; i < y; i++)  {      if(direction == 'R')    {       if((x & 1) == 1)       {         x = x >> 1;         x = (x ^ 128);            }       else             x = x >> 1;     }     else if(direction == 'L')     {       if((x & 128) == 1)         {         x = x << 1;         x = (x ^ 1);            }         else       x = x << 1;     }   }   return x;    }
解决方法 我试过我的电脑(MacBookPro / Core2Duo)并且它有效. 顺便问一下,你的目标架构是什么?当您使用C运算符“>>”时,一些(许多)处理器执行旋转而不是移位和“<<”. 总结

以上是内存溢出为你收集整理的C中的位移位全部内容,希望文章能够帮你解决C中的位移位所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1219035.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存