如何用C语言实现32位变量的循环移位
2个回答
展开全部
int rol(int n, int c)
{
while (c > 0)
{
n = (n << 1) | ((n >> 31) & 1);
c--;
}
return n;
}
int ror(int n, int c)
{
while (c > 0)
{
n = ((n >> 1) & 0x7fffffff) | ((n & 1) << 31);
c--;
}
return n;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-11-16
展开全部
往左称就先判断最高位是否1、如果是则移完后,补回到首位 。。。。。。。往右相似~~~~~
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询