📜  二进制到格雷码的转换

📅  最后修改于: 2020-12-30 06:33:42             🧑  作者: Mango

二进制到格雷码转换

二进制到格雷码转换器是一个逻辑电路,用于将二进制代码转换为等效的格雷码。通过将1的MSB置于轴的下方,并将1的MSB置于轴的上方,并在2 n-1行之后将(n-1)位代码围绕一个轴反射,我们可以获得n位格雷码。

4位二进制到格雷码的转换表如下:

Decimal Number 4-bit Binary Code 4-bit Gray Code
ABCD G1G2G3G4
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
8 1000 1100
9 1001 1101
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000

在4位格雷码,3位的代码被反射靠在二月4日至1日-1 = 8行后绘制的轴线。

如何将二进制转换为格雷码

  • 在格雷码中,MSB将始终与给定二进制数的第一位相同。
  • 为了执行格雷码的第二位,我们执行二进制数的第一位和第二位的异或(XOR)。这意味着如果两个位都不相同,则结果将为1,否则结果将为0。
  • 为了得到格雷码的第3比特,我们需要将二进制数的2和3的位执行异或(XOR)。对于格雷码的4位,该过程保持不变。让我们以一个例子来理解这些步骤。

假设我们有一个二进制数字01101,我们希望将其转换为格雷代码。需要执行以下步骤来执行此转换:

  • 众所周知,格雷码的第一位与二进制数的最高有效位相同。在我们的例子中,MSB是0,所以MSB或格雷码的1位为0。
  • 接下来,我们对第一个二进制数和第二个二进制数执行XOR操作。一位为0,第二位为1。两个位都不相同,因此格雷码的第二位为1。
  • 现在,我们执行的二进制数的第二位和第三位的XOR。第2的位是1,和第3比特也是1,这些位是相同的,所以格雷码的第3位是0。
  • 再次执行第34位二进制数的XOR运算。第3比特是1,和4位为0由于这些不同,则4的格雷码的第i位是1。
  • 最后,执行4位和5的XOR比特的二进制数的。4位是0,和5位是1这两个比特是不同的,从而使第i位的格雷码的5为1。
  • 二进制数字01101的格雷码为01011。

格雷到二进制代码转换

格雷到二进制代码转换器是一种逻辑电路,用于将格雷代码转换为其等效的二进制代码。以下电路用于将格雷码转换为二进制数。

就像二进制到格雷码转换一样;这也是一个非常简单的过程。有以下步骤可用于将格雷代码转换为二进制代码。

  • 就像二进制到灰色一样,从灰色到二进制,二进制数的第一位类似于格雷码的MSB。
  • 二进制数的第2比特是相同的第1位二进制数的当格雷码的第2比特是0;否则,第二位是二进制数的第一位的更改位。这意味着,如果二进制的第一位为1,则第二位为0,如果二进制为0,则第二位为1。
  • 第2的步骤持续了二进制数的所有的位。

格雷码到二进制的转换示例

假设我们有格雷码01011,我们想将其转换成二进制数。我们需要执行以下步骤进行转换:

  • 二进制数的第一位与格雷码的MSB相同。格雷码的MSB为0,因此二进制数的MSB为0。
  • 现在,对于第二位,我们检查格雷码的第二位。格雷码的第2位是1,所以该二进制数的第2比特是一个是1的改变的数目
  • 格雷码的下一位为0;否则为0。第三位与格雷码的第二位相同,即1。
  • 格雷码的4位是1;二进制数的4位为0时是第3的改变的数目
  • 格雷码的5位是1;二进制数的第5位为1;这是二进制数第4位的更改数字。
  • 因此,格雷码01011的二进制数是01101。

4位格雷码的位被认为是G 4 G 3 G 2 G 1 。现在从转换表中

G 4 ,G 3 ,G 2和G 1卡诺图(K-map)如下: