如何用matlab将二进制码转化为格雷码

如何用matlab将二进制码转化为格雷码,第1张

clc

clear

Gray = '0000'

len = length(Gray)

Bin(1) = Gray(1)

for i = 1 : len-1

tmp1 = bin2dec(Bin(i))

tmp2 = bin2dec(Gray(i+1))

Bin(i+1) = dec2bin(xor(tmp1, tmp2))

end

Gray

Bin

********************************************

转换之前的格雷码自己替换,现在是0000

运行程序会答应出结果:

Gray =

0000

Bin =

0000

就是说格雷码是0000,对应的二进制码是0000

#include<stdio.h>

void main()

{int a[8],b[8]

int i=0,j=1

printf("Please input a 8-bit binary files! \n")

for(i<8i++)

scanf("%d",&a[i])

printf("\n Please Put this file into Gray code:\n ")

//以下是转换

b[0]=a[0]

for(j<8j++)

{if((a[j-1]+a[j])==0||a[j-1]+a[j]==2)

b[j]=0

else if((a[j-1]+a[j])==1)

b[j]=1

}

//输出格雷码

for(j=0j<8j++)

printf("%d ",b[j])

system("pause")

}

//其实知道算法就好写了,希望能给你一点帮助。

B(二进制)->G(格雷码)码

只需将B码后移一位前面加零,

然后将此B码与原B码相异或,

得出的结果就为该B码的Gray码

例如: B3B2B1B0 转化为G码,

就为 B3B2B1B0 (+)【异或】 0B3B2B1 B码

1100110后移一位,最前面加0变为 0110011

然后

1100110

(+) 0110011

-------------------------

0011001


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7755647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存