Binário para decimal
Publicado por Rick 23/10/2006
[ Hits: 9.199 ]
Já vi alguns algoritmos de conversão de binário para decimal, mas muito mais complexos que este. Eu queira desenvolver um que utilizasse o método do cálculo natural, exemplo: 100 em binário:
(1 x 2^2) + (0 x 2^1) + (0 x 2^0) = 4
Acho que ficou bom...
/*ALGORITMO BINARIO-> DECIMAL POR OPTIMAL (optimal2600@yahoo.com.br)*/ #include <stdio.h> #include <stdlib.h> int potc(int num, int pot) { int x, old; old=num; if (pot==0) return 1; for(x=1;x<pot;x++) { num = num*old; } return num; } int main(void) { char mat_str[8][5]; int mtr[8], numero[8], dig, dec=0, x, y; system("clear"); printf("Numero de digitos: "); scanf("%d", &dig); __fpurge(stdin); printf("Binario: "); y=dig-1; for (x=0;x<dig;x++) { mat_str[x][0]=getchar(); fflush(stdin); } for (x=0;x<dig;x++) { if (mat_str[x][0] != '0' && mat_str[x][0] != '1') { printf("Apenas numeros binarios!!!\n\n"); exit(1); } } for (x=0;x<dig;x++) mat_str[x][1]='\n'; for (x=0;x<dig;x++) mtr[x]=atoi(mat_str[x]); for (x=0;x<dig;x++) { numero[x] = (mtr[x] * potc(2, y)); y--; } for (x=0;x<dig;x++) dec = dec + numero[x]; printf("Decimal %d\n", dec); return(0); }
Simples exemplo de manipulação de vetores
Cálculo de Bhaskara para raízes reais e complexas
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
Novo problema! Erro durante a atualização! (5)
Linux Mint não conecta Wi-Fi sem fio (0)
Tenho um problama de quebra de pacote e não descobri como resolver [RE... (2)
driver do repositorio debian nao atende o requisito minimo (7)
Como atribuir corretamente o CNES final baseado nas regras de certific... (3)