printf("\nSeleccione opcion: "); c = getche(); return c; }
unsigned long conversor(unsigned long n1,int base1,int base2) { unsigned long alg,mult=1,n2=0; while (n1 > 0) { alg = n1 % base1; n1 /= base1; n2 += (alg*mult); mult *= base2; } return n2; }
void main() { unsigned long n; char op;
for(;;) { clrscr(); op = menu(); clrscr();
switch(op) { case '1': printf("Conversor Decimal -> Binario\n"); printf("Introduza un numero Decimal: "); scanf("%lu",&n); printf("Numero Binario correspondente: "); printf("%lu",conversor(n,2,10)); break;
case '2': printf("Conversor Decimal -> Octal\n"); printf("Introduza um numero Decimal: "); scanf("%lu",&n); printf("Numero Octal correspondente: "); printf("%lo",n); break;
case '3': printf("Conversor Decimal -> Hexadecimal\n"); printf("Introduza um numero Decimal: "); scanf("%lu",&n); printf("Numero Hexadecimal correspondente: "); printf("%lx",n); break;
case '4': printf("Conversor Binario -> Decimal\n"); printf("Introduza un numero Binario: "); scanf("%lu",&n); printf("Numero Decimal correspondente: "); printf("%lu",conversor(n,10,2)); break;
case '5': printf("Conversor Binario -> Octal\n"); printf("Introduza un numero Binario: "); scanf("%lu",&n); printf("Numero Octal correspondente: "); printf("%lo",conversor(n,10,2)); break;
case '6': printf("Conversor Binario -> Hexadecimal\n"); printf("Introduza un numero Binario: "); scanf("%ld",&n); printf("Numero Hexadecimal correspondente: "); printf("%lx",conversor(n,10,2)); break;
case '7': printf("Conversor Octal -> Decimal\n"); printf("Introduza un numero Octal: "); scanf("%lo",&n); printf("Numero Decimal correspondente: "); printf("%lu",n); break;
case '8': printf("Conversor Octal -> Binario\n"); printf("Introduza un numero Octal: "); scanf("%lo",&n); printf("Numero Binario correspondente: "); printf("%lu",conversor(n,2,10)); break;
case '9': printf("Conversor Octal -> Hexadecimal\n"); printf("Introduza un numero Octal: "); scanf("%lo",&n); printf("Numero Hexadecimal correspondente: "); printf("%lx",n); break;
case 'A': case 'a': printf("Conversor Hexadecimal -> Decimal\n"); printf("Introduza un numero Hexadecimal: "); scanf("%lx",&n); printf("Numero Decimal correspondente: "); printf("%lu",n); break;
case 'B': case 'b': printf("Conversor Hexadecimal -> Binario\n"); printf("Introduza un numero Hexadecimal: "); scanf("%lx",&n); printf("Numero Binario correspondente: "); printf("%lu",conversor(n,2,10)); break;
case 'C': case 'c': printf("Conversor Hexadecimal -> Octal\n"); printf("Introduza un numero Hexadecimal: "); scanf("%lx",&n); printf("Numero Octal correspondente: "); printf("%lo",n); break;
int Search(char c) { int i; char Num[]="01"; for(int i=0;i<2;i++){ if(Num[i]==c) break; } return i; }
int Bin2Dec(const char *String) { int i,iLenght; int iResult=0; iLenght=strlen(String); iLenght--; for(i=0;String[i]!=NULL;i++,iLenght--)... iResult+=(Search(String[i])*pow(2,iLen...
}
return iResult; }
int main(int argc, char **argv) { int iNum; cout << "Numero a convertir: "; cin >> iNum; cout << "Decimal a binario." << endl; Dec2Bin(iNum); cout << "Decimal a hexadecimal." << endl; Dec2Hex(iNum); cout << "Hexadecimal a decimal." << endl; Hex2Dec(iNum); cout << "Binario a decimal." << endl; cout << "1111= " << Bin2Dec("1111") << endl; getch(); return 0; }