| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 214 人关注过本帖
标题:大神求教:循环移位程序的分析
取消只看楼主 加入收藏
南国雨
Rank: 1
等 级:新手上路
帖 子:26
专家分:9
注 册:2015-2-1
结帖率:72.73%
收藏
已结贴  问题点数:8 回复次数:0 
大神求教:循环移位程序的分析
程序代码:
#include<stdio.h>
int right(unsigned value,int n);
int left(unsigned value,int n);
int right(unsigned value,int n){
    unsigned z;
    z=(value>>n)|(value<<(16-n));
    return z;
}
int left(unsigned value,int n){
    unsigned z;
    z=(value>>(16-n))|(value<<n);
    return z;    
}
int main(){
    unsigned a;
    int n;
    printf("input:\n");
    scanf("%o",&a);
    printf("input:\n");
    scanf("%d",&n);
    if(n>0){
        right(a,n);
        printf("the result is:%o\n",right(a,n));
    }
    else{
        n=-n;
        left(a,n);
        printf("the result is :%o\n",left(a,n));
    }
    return 0;
}

以其中向右移动的函数为例。
z=(value>>n)|(value<<(16-n));

这句话给解释一下吧。举例子说明一下就行
2015-03-07 14:53
快速回复:大神求教:循环移位程序的分析
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024304 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved