最近出现一个问题是:编写算法将十进制数转换为n位格雷码。
例如:
使用 1 位(最简单):
0 -> 0
1 -> 1
使用 2 位
0 -> 00
1 -> 01
2 -> 11
3 -> 10
使用 3 位
0 -> 000
1 -> 001
2 -> 011
3 -> 010
4 -> 110
5 -> 111
6 -> 101
7 -> 100
我当时在不同的数学领域工作。无意中,我发现了两种将数字转换为格雷码的方法。例子。从右到左:我将 173(二进制的 8 位数字)除以数字 2,4,8,16,32,...,256。我将每个商四舍五入到最接近的整数。我将这个整数从相应的分数写下来。如果这个整数是偶数,那么我在这个数字下面写上0,否则我写上数字1。这些数字组成了格雷码173。
更快的方法。我可以将二进制系统中具有相同数字长度的所有数字转换为格雷码。我这样做时没有将任何数字转换为二进制。在这里我发现很难展示这个方法,因为它包含图表,但是你可以在这里找到它:
http://viXra.org/abs/2004.0456?ref=11278286 http://viXra.org/abs/2004.0456?ref=11278286
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)