1. Utilizando operadores bitwise, crie uma classe Binario que gerencie a impressão de números no formato binário. A construtora da classe deve receber um número inteiro como parâmetro. Por exemplo:
Internamente o número deve ser armazenado como um atributo do tipo unsigned char.
2. Sobrecarregue o operador "<<" para permitr a impressão de objetos da classe Binario com a stream de saída cout. Consulte a página à respeito de sobrecarga de operadores.
Exemplo:
3. Complete
a classe do exercício 1, criando uma nova construtora que receba uma
string com a representação de um número em binário. Internamente o
número deve ser armazenado no atributo já existente na classe, e não como uma string, ou
seja, crie uma conversão da representação binária para um inteiro.
Exemplo:
4. Utilizando
operadores
bitwise, crie uma
classe que seja capaz
de armazenar um vetor de 64 de ‘bits’. Internamente o vetor de bits deve ser armazenado como um vetor de char, declarado como no exemplo abaixo.
class VetorDeBits{
// este atributo deve armazenar toda o vetor
unsigned char dados[8];
public:
MatrizDeBits();
//liga o bit na posição (i)
void set(int i);
// desliga o bit na posição (i)
void reset(int i);
// obtém o valor atual da posição (i)
int get(int i);
};