Binário para decimal
Publicado por Rick 23/10/2006
[ Hits: 9.407 ]
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);
}
Cálculo da equação do segundo grau
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Usando dracut e dispensando genkernel no Gentoo + LUKS + Btrfs
Curso GRÁTIS: OCS Inventory NG - Do Deploy ao Hardening com foco em Segurança da Informação!
Instalando fontes via script no Nautilus Scripts no Gnome do Debian 13
VirtualBox no Ubuntu 25.10 sem redimensionam... automatico. (1)
Instalar Linux em notebook Sony Vaio VPCEG13EB (2)
GLPI Não atualiza Inventario (0)









