Binário para Decimal, Hexa, Char
Publicado por Enzo de Brito Ferber 09/01/2006
[ Hits: 16.286 ]
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(); }
Entrar com um número e imprimir todos os seus divisores
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Jogando com Proton no LInux (0)
Ingress NGINX Controller CVSS base score of 9.8 (4)
Impossível corrigir problemas, você manteve (hold) pacotes quebrados. (2)