格雷码
来源:互联网 发布:linux iscsi服务 编辑:程序博客网 时间:2024/05/22 12:34
格雷码(Gray code),又叫循环二进制码或反射二进制码 在数字系统中只能识别0和1,各种数据要转换为二进制代码才能进行处理,格雷码是一种无权码,采用绝对编码方式,典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小化的编码方式 。
#include <stdio.h>int isright(int);void gradcode(int);int a[1024][10]; //使得n<=10;int main(){int n,i,j,num=1;printf("请输入一个大于0小于10的整数:");scanf("%d",&n);if(isright(n)==0) return 0;else{ for(i=0;i<n;i++) num=num*2; gradcode(n); for(i=0;i<num;i++) { for(j=0;j<n;j++) printf("%d",a[i][j]); printf("\n"); }}return 0;}int isright(int n){if(n>10 || n<=0){ printf("你输入的数据不满足要求!!!"); return 0;}return 1;}void gradcode(int n){int i,j,num=1;if(n==1){ a[0][0]=0; a[1][0]=1;}else{ gradcode(n-1); for(i=0;i<n;i++) num=num*2; for(i=0;i<num/2;i++) for(j=0;j<n-1;j++) a[num-1-i][j]=a[i][j]; for(i=0;i<num/2;i++) a[i][j]=0; for(i=num/2;i<num;i++) a[i][j]=1;}}
- 格雷码
- 格雷码
- 格雷码
- 格雷码
- 格雷码
- 格雷码
- 格雷码
- 格雷码
- 格雷码
- 格雷码
- 格雷码
- 格雷码
- 格雷码
- 格雷码
- 格雷码
- 格雷码
- 格雷码
- 格雷码
- 简单的基于socket通讯的聊天室,详细讲解
- Windows 8 激活信息备份还原方法与工具
- CSS3 border-image 不同浏览器的表现记录
- C#JQuery学习(二)技巧总结
- 分布式计算开源框架Hadoop介绍1
- 格雷码
- 网管教程+从入门到精通软件篇
- PHP三层结构(下)—PHP实现AOP
- IOS:ASIHTTPRequest类库简介和使用说明
- VC Com调用
- 给在读研究生+未来要读研同学们的一封受益匪浅的信
- Java开发工具IntelliJ IDEA 12发布
- JQuery插件、模板
- OpenWRT文章翻译之(二)----OpenWRT Buildroot安装