软件
介绍二进制转格雷码格雷码转二进制十进制转二进制二进制转十进制等,在Delphixe2下通过测试。格雷码(英文:GrayCode,GreyCode,又称作葛莱码,二进制循环码)是1880年由法国工程师Jean-Maurice-EmlleBaudot发明的一种编码[,因FrankGray于1953年申请专利“PulseCodeCommunication”得名。当初是为了机械应用,后来在电报上取得了巨大发展.压缩包里含该源代码.
最佳答案:
十进制586=二进制1001001010=格雷码1101101111。
二进制码---->格雷码(编码):
从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,最左边一位不变(相当于左边是0)。
格雷码的是特点是:
相邻两数的格雷码,仅仅有一位二进制发生变化。
而且在其范围内的最小值和最大值,也仅仅有一位二进制发生变化。
例如下面两数:
最小:二进制0000=格雷码0000
最大:二进制1111=格雷码1000
看到了吧,0000和1000,仅仅有一位数发生变化。
-------
如果在变换的过程中,先把十进制转换成BCD码,这就失去了格雷码的特点。
因为在BCD码中:
最小:二进制0000=格雷码0000
最大:二进制1001=格雷码1101
可以看出,它们之间有三位发生变化。
通过BCD码来变换格雷码,思路不对。变换出来的,并不是原数的格雷码。
自然二进制数转换到格雷码
------------
设有N位二进制数B(i),其中0<=i<=N-1;它可以变换成为同样位数的格雷码G(i)。
二进制数与格雷码的转换公式如下:
G(i)=B(i+1)XORB(i);0<=i<N-1
G(i)=B(i);i=N-1
如果是通过编程计算进行变换,就需要使用这个公式逐位的计算;
如果是使用硬件电路进行变换,就可以使用做而论道前面在回答问题时给出的电路。
格雷码转换到自然二进制数
------------
设有N位格雷码G(i),把它转换成自然二进制数的算法如下。
自然二进制码的最高位等于雷码的最高位;
自然二进制码的次高位为最高位自然二进制码与次高位格雷码相异或;
自然二进制码的其余各位与次高位自然二进制码的求法相类似。
转换公式如下:
B(i)=G(i);i=N-1
B(i)=B(i+1)XORG(i);0<=i<N-1
相关
文章热门
专题本站为非营利性个人网站,本站所有游戏来自于互联网,版权属原著所有。如有侵犯你的版权,请发邮件给wishdown2023@163.com
湘ICP备2021017279号-3 公安部备案号:13092602000101
Copyright©2006-2019 www.wishdown.com All rights reserved