C语言编程题:移位函数,既能循环左移又能循环右移
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/05 14:28:24
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;}
屌丝表示看不懂,求大神解释,带注释最好!
编写一个移位函数,使移位函数既能循环左移又能循环右移.参数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;}
屌丝表示看不懂,求大神解释,带注释最好!
int move(int n)
{int j=0;
if(n>0){
for(;n>0;n
{int j=0;
if(n>0){
for(;n>0;n
C语言编程题:移位函数,既能循环左移又能循环右移
带进位的循环右移和带进位的循环左移与循环移位的区别?举例说明
51单片机.用C语言的_crol_()函数实现LED灯循环左移.为什么我的程序只亮一盏灯啊.没有循环啊
C语言编程题目 循环语句
c语言编程问题循环结构
51单片机如何在一个工程中同时加入循环左移和循环右移,
c语言编程题 尽量简单些 不要用太深的知识 最好是用函数 数组 循环
函数 (x**x+3*x+9)/(x-1) 用c语言循环语句怎么编程
C++语言编程,循环语句
C语言判断题:在实际编程中,do-while循环完全可以由for循环代替
c语言循环结构程序设计题,谁能帮帮我啊?
请问在单片机中,怎样用左移(右移)与简单逻辑运算实现循环左移(右移)