根据格雷码的特点,即:对于两个相邻的十进制数,对应的两个格雷码只有一个二进制位不同。另外,最大数与最小数间也仅有一个二进制位不同。以下给出用长度n的二进制数来表示十进制数m的格雷码c实现,运行结果如右图所示: #include<stdio.h>voidmain(){ intm,n,i,j,b,p,bound intgr[14]//输入n,m并判断m是否合法 bound=1 printf("Pleaseinputtwonumber:n,m\n") scanf("%d,%d",&n,&m) for(i=1i<=ni++) 桐御 bound*=2 if(m<0||m>=bound) { printf("Dataerror!") exit(0) } b=1 for(i=0i<ni++) { 含兄 p=0 b*=2 for(j=0j<=mj++) { if(j%b-b/2==0) p=1-p } gr[i]=p } printf("m=") for(i=n-1i>=0i--) { printf("%d",gr[i]) } printf("\n")}格雷码解码的Pascal 程序: var x,y,i:longintbegin readln(x) fori:=30downto0do begin y:=(xand(1shli))xor((xand(1shl(i+1)))shr1) x:=xandnot(1shli)ory end writeln(x)end.2var x,i,n:longintbegin readln(n) x:=n fori:=1to31do begin 谈轮袭x:=xshr1 n:=nxorx end writeln(n)end.
格雷母线广泛春姿凯用于矿山系统、冶金系统、港口码头系统、化工系统、电力系统、水泥系统、铁路系统、轻工系统、军工系统、石油系统、机械系统等有轨搬运设备精确定位和自动控制。
如:行车位置跟踪系统、吊车定位及智能导航系统、天车定位导航系统、天车定位库区管理控制系统、板坯库天车定位系统、扒唤钢卷库天车定位系统、成品库天车定位系统、原料库天车定位系统、行车防碰撞系统、行车物流管理系统。
格雷码(循环码)
格雷码:也称循环码,是二进制码的一种异或运算变形,区别特征在于相邻两位数码之间只有一位变化;此特点可以避免制造或安装精度而带来的非单值误差,提高数据传输的可靠性和抗扰性。
旋转编码器的类型是单圈绝对值编码器输出码为格雷码主要用于显示工位的实时位置;以及其它工位以此位置来判断是否需要执行程序。编码器在工业中应用非常广泛如册凯风力发电,电梯等。也是咱们做自控的必须要学习的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)