Convertir binario a decimal
Publicado por
Sergio Velasquez
en
19:54
lunes, 14 de diciembre de 2009
Etiquetas:
C++
,
Programación
# include <stdio.h>
# include <conio.h>
# include <math.h>
# include <string.h>
void convertir_binario(int a);
long convertir_decimal(char B[16]);
void main()
{
long int N=0,SUM=0,COM=0;
int i=0;
char B[15];
clrscr();
i=1;
printf("\n VALOR BINARIO: ");
printf("\t\t VALOR DECIMAL : ");
printf(" \n============================================================= ");
do{
printf("\n # %d: ",i);
scanf("%s",&B);
gotoxy(34,i+3);
N=convertir_decimal(B);
SUM=SUM+N;
i++;
}while(N !=0);
while( SUM>=65535)
{
SUM=SUM-65535;
}
printf("\n\n Suma :");
convertir_binario(SUM);
gotoxy(34,i+4);
printf("Suma : %u \n",SUM);
COM=65535-SUM;
printf("\n\n Complemento:");
convertir_binario(COM);
gotoxy(34,i+7);
printf("Complemento: %u \n",COM);
getch();
}
void convertir_binario(int a)
{
int b,m,cont,nbits;
unsigned mascara;
nbits=8*sizeof(int);
m=0x1<<(nbits-1);
mascara=m;
for(cont=1;cont<=nbits;cont++)
{
b=(a & mascara) ? 1 : 0;
printf("%x",b);
if(cont % 8 == 0)
printf(" ");
mascara>>=1;
}
}
long convertir_decimal(char B[16])
{
int i,b;
long int SUM;
b=2;
SUM=0;
for(i=0;i<=strlen(B)-1;i++)
{
if(B[strlen(B)-1-i]=='1')
SUM=SUM + pow(b,i);
}
printf("%u",SUM);
return(SUM);
}





No response to “Convertir binario a decimal”
Publicar un comentario