Binário para Decimal, Hexa, Char
Publicado por Enzo de Brito Ferber 09/01/2006
[ Hits: 16.446 ]
Homepage: http://www.maximasonorizacao.com.br
Programa que tranforma um
numero Binário em decimal,
hexadecimal ou caractere.
(É [*****] num ter nada pra
fazer... Depois da outro que
fiz para tranformar decimal,
hexa e char em binario, tinha
que fazer um que fizesse o
contrário... ;) )
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define decimal 1
#define hexa 2
#define caractere 3
int clear(void){
system("clear");
}
int binNum(char bin[], int type){
int i;
int j;
int num=0;
for(i=0;i<8;i++){
if(bin[i] == '1')
num = (num*2)+1;
if(bin[i] == '0')
num = (num*2);
}
if(type==1) printf("Decimal: %d", num);
if(type==2) printf("Hexadecimal: %x", num);
if(type==3) printf("Caractere: %c", num);
}
int menu(void){
char opcao[10];
int op;
clear();
printf("\n");
printf("\t1. Binario para decimal\n");
printf("\t2. Binario para hexadecimal\n");
printf("\t3. Binario para caractere\n");
printf("\t4. Sair\n\n");
do{
inicio:
printf("\tDigite sua opcao: ");
gets(opcao);
op = atoi(opcao);
switch(op){
case 1:
binDecimal();
break;
case 2:
binHexa();
break;
case 3:
binChar();
break;
case 4:
exit(0);
default:
printf("Opcao Invalida\n");
goto inicio;
}
}while(1);
}
int binDecimal(void){
int i;
char bin[8];
char espera;
clear();
printf("Digite o numero binario: ");
gets(bin);
binNum(bin, decimal);
__fpurge(stdin);
espera = getchar();
if(espera) menu();
}
int binHexa(void){
int i;
char bin[8];
char espera;
clear();
printf("Digite o numero binario: ");
gets(bin);
binNum(bin, hexa);
__fpurge(stdin);
espera = getchar();
if(espera) menu();
}
int binChar(void){
int i;
char bin[8];
char espera;
clear();
printf("Digite o numero binario: ");
gets(bin);
binNum(bin, caractere);
__fpurge(stdin);
espera = getchar();
if(espera) menu();
}
int main(void){
menu();
}
Validar CPF em C++ (esse funciona)
Simulador do Sorteio da Mega Sena
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
VOL já não é mais como antes? (6)
É normal não gostar de KDE? (12)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









