Programação C/C++

Prof. Márcio Sarroglia Pinho

Exercícios sobre Operadores  Bitwise em C

1. Utilizando operadores bitwise, crie uma função capaz de imprimir um número em formato binário.

Exemplo:

Imprime(15); // deve imprimir 1111


O parâmetro deve ser do tipo unsigned char.

2. Crie uma função que receba uam string com a representação de um número em binário e retorne este número em decimal.

Exemplo:

int i = Decimal("1010"); // deve atribuir 15 para a variável i


3. Utilizando operadores bitwise, implemente as funções descritas abaixo, considerando que os dados de uma pessoa deverão ser armazenados em 1(um) byte.

Considere que os dados a serem armazenados são:
•    Nacionalidade: brasileiro ou estrangeiro
•    Número de Filhos: de 0 a 7
•    Número de Pais Vivos: de 0 a 2

Verifique quantos bits são necessários para cada dado a ser armazenado, com base nos valores possíveis para cada um deles.
Em sua implementação não utilize sequências de comandos de seleção(IF/SWITCH).
Os métodos “set” devem testar se o parâmetro tem valor válidos ou não e só fazer uma alteração caso este seja válido.

    void setNroPaisVivos(unsigned char &PessoaByte, int n);
    int  getNroPaisVivos(
unsigned char PessoaByte, );
    void setNroFilhos(
unsigned char &PessoaByte, int n);
    int  getNroFilhos(
unsigned char PessoaByte,);
    void setnacionalidade(
unsigned char &PessoaByte, int n); // n=0 Brasileiro
    int  getNacionalidade(
unsigned char PessoaByte,);


FIM.