楼主说的对。
8421BCD码在转格雷码时,
应该先转十进制、然后转二进制、再转格雷码。
这样转过来的格雷码,才具有格雷码的规律。
如果直接用8421BCD转格雷码,那么,转换出来的,并没有格雷码的规律。
也即,直接转,转出来的,并不是格雷码。
这里的加3不是指格雷码按照自然二进制算法加3,而是指格雷码按照格雷码算法加3。
你看到格雷码这一列。比如,格雷码0000加3,就是从格雷码0000往下数3个,得到格雷码0010,即余3格雷码0010(对应8421码0000);格雷码0011加3,就是从格雷码0011往下数3个,得到格雷码0111,即余3格雷码0111(对应8421码0010)。
二进制码- 格雷码 (编码):从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应 格雷码 该位的值,最左边一位不变(相当于左边是0); 把8421BCD码换成一般自然二进制数。