C语言编程题:移位函数,既能循环左移又能循环右移编写一个移位函数,使移位函数既能循环左移又能循环右移.参数n大于0时便是左移,参数n小于0时便是右移. 目前只学到函数,位运算,后
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/02 04:38:18
![C语言编程题:移位函数,既能循环左移又能循环右移编写一个移位函数,使移位函数既能循环左移又能循环右移.参数n大于0时便是左移,参数n小于0时便是右移. 目前只学到函数,位运算,后](/uploads/image/z/6847047-63-7.jpg?t=C%E8%AF%AD%E8%A8%80%E7%BC%96%E7%A8%8B%E9%A2%98%EF%BC%9A%E7%A7%BB%E4%BD%8D%E5%87%BD%E6%95%B0%2C%E6%97%A2%E8%83%BD%E5%BE%AA%E7%8E%AF%E5%B7%A6%E7%A7%BB%E5%8F%88%E8%83%BD%E5%BE%AA%E7%8E%AF%E5%8F%B3%E7%A7%BB%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA%E7%A7%BB%E4%BD%8D%E5%87%BD%E6%95%B0%2C%E4%BD%BF%E7%A7%BB%E4%BD%8D%E5%87%BD%E6%95%B0%E6%97%A2%E8%83%BD%E5%BE%AA%E7%8E%AF%E5%B7%A6%E7%A7%BB%E5%8F%88%E8%83%BD%E5%BE%AA%E7%8E%AF%E5%8F%B3%E7%A7%BB.%E5%8F%82%E6%95%B0n%E5%A4%A7%E4%BA%8E0%E6%97%B6%E4%BE%BF%E6%98%AF%E5%B7%A6%E7%A7%BB%2C%E5%8F%82%E6%95%B0n%E5%B0%8F%E4%BA%8E0%E6%97%B6%E4%BE%BF%E6%98%AF%E5%8F%B3%E7%A7%BB.++++++++%E7%9B%AE%E5%89%8D%E5%8F%AA%E5%AD%A6%E5%88%B0%E5%87%BD%E6%95%B0%2C%E4%BD%8D%E8%BF%90%E7%AE%97%2C%E5%90%8E)
C语言编程题:移位函数,既能循环左移又能循环右移编写一个移位函数,使移位函数既能循环左移又能循环右移.参数n大于0时便是左移,参数n小于0时便是右移. 目前只学到函数,位运算,后
C语言编程题:移位函数,既能循环左移又能循环右移
编写一个移位函数,使移位函数既能循环左移又能循环右移.参数n大于0时便是左移,参数n小于0时便是右移.
目前只学到函数,位运算,后面的只是尽量别用.
老师给的答案:
unsigned move(unsigned value, int n)
{
unsigned z;
if (n > 0) {
// 循环左移
z = (value >> (32 - n)) |(value n);
}
return z;
}
int main(int argc, const char * argv[])
{
unsigned a;
int n;
printf("请输入一个八进制输:\n");
scanf("%d", &a);
printf("请输入要移位的位数:\n");
scanf("%d", &n);
printf("移位后的结果是:%o\n", move(a, n));
return 0;}
屌丝表示看不懂,求大神解释,带注释最好!
C语言编程题:移位函数,既能循环左移又能循环右移编写一个移位函数,使移位函数既能循环左移又能循环右移.参数n大于0时便是左移,参数n小于0时便是右移. 目前只学到函数,位运算,后
int move(int n)
{int j=0;
if(n>0){
for(;n>0;n