Usando um decodificador binário de 3 entradas e um codificador binário de 8 entradas,

implemente um conversor de código do código de Gray de 3 bits para o código binário de 3 bits.

Resolução: 

#include <stdio.h>


// Função para converter código de Gray para código binário

void grayToBinary(int gray[], int binary[]) {

    binary[0] = gray[0];

    binary[1] = binary[0] ^ gray[1];

    binary[2] = binary[1] ^ gray[2];

}


int main() {

    // Definindo o código de Gray de entrada (3 bits)

    int gray[3] = {1, 0, 1}; // Exemplo: código de Gray 101


    // Definindo o array para armazenar o código binário de saída (3 bits)

    int binary[3];


    // Convertendo o código de Gray para código binário

    grayToBinary(gray, binary);


    // Exibindo o resultado

    printf("Código de Gray: ");

    for (int i = 0; i < 3; i++) {

        printf("%d", gray[i]);

    }

    printf("\nCódigo Binário: ");

    for (int i = 0; i < 3; i++) {

        printf("%d", binary[i]);

    }

    printf("\n");


    return 0;

}