• Viernes 17 de Mayo de 2024, 07:30

Autor Tema:  Conversiones Numericas  (Leído 1328 veces)

Kalid

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Conversiones Numericas
« en: Domingo 11 de Diciembre de 2005, 03:16 »
0
Hola...

bien el problema consiste en lo siguiente
quiero desarrollar un programa que realice distintas conversiones de Decimal a binario, octal, hexadecimal || Binario a decimal, octal y hexadecimal || Octal a decimal, binario y hexadecimal || Hexadecimal a decimal, binario, octal.

Encontre una funcion para convertir de Decimal a Octal y binario, y ya logre convertir de Decimal a Binario, lo que no puedo hacer es lo demas  :(  

y ya andando en esto, para convertir de binario a decimal o algun otro necesito que solo me acepte 2 caracteres: 1, 0. como hago esto  :rolleyes:

Alguien podria auxiliarme... ?

de antemano grax!!  ;)
[size=109]Tsuki Miru TAbi Omoi Dase[/size]

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Conversiones Numericas
« Respuesta #1 en: Lunes 12 de Diciembre de 2005, 16:35 »
0
que yo sepa la funcion
atoi
y similares permiten introducir una cadena de texto (un numero) en cualquier formato y esta lo convierte en su equivalente tipo integer o similar.

Esta funcion te hara todo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Kalid

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Conversiones Numericas
« Respuesta #2 en: Martes 13 de Diciembre de 2005, 03:34 »
0
y algun metodo k no tenga un funcion ya hecha "c++" es decir k uno tenga k desarrollar... xk yo krei k con el iomanip.h ya podia pero no, mi asesor quiere que use estructuras repetitivas, de bifurcacion para poder lleva a cabo esto... hasta ahorita va esto -->


Código: Text
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<iostream.h>
  4. #include<dos.h>
  5. #include<ctype.h>
  6. #include<process.h>
  7. #include<math.h>
  8.  
  9.  
  10. const Tam=16;
  11. int TamVector=0;
  12. char VBinario[Tam];
  13.  
  14. void Rellena(void);
  15. void Valida1(void);
  16. //void Muestra(void);
  17.  
  18. int ConvertirANumBinario(char Valor);
  19.  
  20. void BinarioDecimal(void);
  21. void BinarioOctal(void);
  22.  
  23. void Rellena(void)
  24. {
  25.   int i;
  26.  
  27.   for(i=0; i<=Tam; i++)
  28.     {
  29.        VBinario[i]='0';
  30.     }
  31. }
  32. /*
  33. void Muestra(void)
  34. {
  35.   int i;
  36.   int Col=1;
  37.  
  38.   for(i=0; i<TamVector; i++)
  39.     {
  40.        gotoxy(Col++,14);cout<<VBinario[i];
  41.     }
  42. }
  43.  
  44. */
  45. void Valida1(void)
  46. {
  47.   int Col=10;
  48.   int i=0;
  49.   char Dato;
  50.  
  51.   do{
  52.        gotoxy(Col,12); Dato=getche();
  53.        if(Dato==48 || Dato==49)
  54.    {
  55.       VBinario[i]=Dato;
  56.       TamVector++;
  57.       Col++;
  58.       i++;
  59.    }
  60.        if(TamVector==17)
  61.    {
  62.      gotoxy(30,24);cout<<" Ha llegado al l¡mite... ";
  63.      Dato=13;
  64.    }
  65.     }while(Dato!=13);
  66.  
  67.  
  68. }
  69. /*************************************************************/
  70. int ConvertirANumBinario(char Valor)
  71.  {
  72.     int Num;
  73.     switch(Valor)
  74.        {
  75.     case '0': Num=0; break;
  76.     case '1': Num=1; break;
  77.        }
  78.  
  79.     return Num;
  80.  }
  81.  
  82. /*************************************************************/
  83.  
  84. void BinarioDecimal(void)
  85. {
  86.   int i,Exp;
  87.   char Valor;
  88.   int Conversion,ValNum;
  89.  
  90.   Exp=TamVector;
  91.   Conversion=0;
  92.   for(i=0; i<=TamVector; i++)
  93.     {
  94.        Exp--;
  95.        Valor=VBinario[i];
  96.        ValNum=ConvertirANumBinario(Valor);
  97.        Conversion=Conversion+(ValNum*pow(2,Exp));
  98.     }
  99.   gotoxy(10,24);cout<<"Binario Decimal: "<<Conversion;
  100. }
  101.  
  102. void BinarioOctal(void)
  103. {
  104.   int i,x,y;
  105.   int avanza;
  106.   char val1,val2,val3;
  107.   char Valor;
  108.   char Conversion[16];
  109.  
  110.   x=y=0;
  111.   for(i=0; i<=TamVector; i++)
  112.     {
  113.   if(avanza==1)
  114.       val1=VBinario[i];
  115.   if(avanza==2)
  116.       val2=VBinario[i];
  117.   if(avanza==3)
  118.       val3=VBinario[i];
  119.  
  120.     }
  121.   gotoxy(10,23);cout<<"Binario Octal: "<<Conversion;
  122. }
  123.  
  124. void main(void)
  125. {
  126.  clrscr();
  127.  Rellena();
  128.  Valida1();
  129.  BinarioDecimal();
  130.  BinarioOctal();
  131.  getch();
  132. }
  133.  
  134.  


Falta todavia un buen...
¿¿Alguna idea??

Desde ya Grax!!
[size=109]Tsuki Miru TAbi Omoi Dase[/size]