sábado, 16 de outubro de 2010

Como converter char para binário ou binário para char em C/C++?

Olá, programadores C e C++.

Então você quer saber como converter um valor do tipo char para uma string em binário?
Ou então você quer saber como converter uma string em binário para um valor do tipo char?

Neste artigo vou apresentar a vocês duas funções muito úteis para qualquer programador nerd. Aqui você vai aprender a converter um valor do tipo char para uma string contendo a representação binária deste valor, e a converter uma string contendo a representação binária de um valor para um valor do tipo char.


Chartobin

Converte valor tipo char para string em binário


#include "limits.h"

//----------------------------------------------------------
// Converte um valor do tipo char para uma string binaria
//----------------------------------------------------------

char* chartobin ( unsigned char c )
{
static char bin[CHAR_BIT + 1] = { 0 };
int i;

for ( i = CHAR_BIT - 1; i >= 0; i-- )
{
bin[i] = (c % 2) + '0';
c /= 2;
}

// Retorna a string com a representacao binaria do argumento

return bin;
}


Bintochar

Converte string em binário para valor tipo char


#include "stdlib.h"

//------------------------------------------------------
// Converte uma string em binario para um valor char
//------------------------------------------------------

unsigned char bintochar( char* binstr )
{
// Retorna o valor char que a string passada como argumento
// representa. Utiliza a funcao strtoul da biblioteca padrao

return (unsigned char) ( strtoul( binstr, NULL, 2 ) );
}




Espero que estas funções lhe sejam úteis!