自然二进制和格雷码之间的转换

(1)自然二进制数转换到格雷码
设有 N 位二进制数 B(i),其中 0 <= i <= N - 1;它可以变换成为同样位数的格雷码 G(i)。
二进制数与格雷码的转换公式如下:

  G(i) = B(i+1) XOR B(i) ; 0 <= i < N - 1
  G(i) = B(i)            ;      i = N - 1

编程时直接写成G = (B>>1)^B;

对应的电路图如下:

 

(2)格雷码转换到自然二进制数
设有 N 位格雷码 G(i),把它转换成自然二进制数的算法如下。

自然二进制码的最高位等于雷码的最高位;
自然二进制码的次高位为最高位自然二进制码与次高位格雷码相异或;
自然二进制码的其余各位与次高位自然二进制码的求法相类似。
转换公式如下:

  B(i) = G(i)             ;      i = N - 1
  B(i) = B(i+1) XOR G(i)  ; 0 <= i < N - 1

编程时可以写成:

            B(WIDTH) = G(WIDTH);

for (i=WIDTH-1;i>=0;i--)

    B[i]=B[i+1]^G[i];

对应的电路结构如下:






本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部