3 millones en foros del web

Registrarte Políticas Wiki 120segs Ayuda Iniciar sesion

Retroceder   Foros del Web > Programación > Programación General
Respuesta
 
Herramientas Desplegado
Antiguo 29-jun-2009, 19:37   #1 (permalink)
darwin2201 (Reg: octubre-2008)
 
84 Mensajes
darwin2201 está desconectado
De acuerdo Dev c++ (de decimal a binario,octal y hexadecimal)

Hola necesito saber como puedo hacer un programa que relaize estas transformaciones, he intentado hacerlo con algunas secuenciasde escape pero no he encontrado para binario, y la de octal siempre imprime 0...me parece que la unica que sirve es la hexadecimal pero no estoy seguro
  Responder Citando
Antiguo 04-jul-2009, 16:00   #2 (permalink)
FTech (Reg: julio-2009)
 
88 Mensajes
FTech está desconectado
Respuesta: Dev c++ (de decimal a binario,octal y hexadecimal)

Si tu objetivo es pasar de decimal a los otros 3 sistemas, te recomiendo que utilices el método de divisón reiterada para comenzar.

Mira este algoritmo convierte cualquier numero entero en base 10, a cualquier base entre 1 y 10.

Código Cpp::
Ver originalCopiar
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     int dig;
  8.     int iNum,iBase;
  9.     cin>>iNum;
  10.     cin>>iBase;
  11.     double k=0;
  12.     int iNumR=iNum;
  13.     int iNN=0;
  14.     while(iNumR!=0)
  15.     {
  16.         dig=iNumR&#37;iBase;
  17.         iNN=iNN+dig*pow(10,k);
  18.         iNumR=iNumR/iBase;
  19.         k++;
  20.     }
  21.     cout<<"Numero:"<<iNum<<" convertido:"<<iNN<<" en base:"<<iBase;
  22.     system("pause");
  23.     return 0;
  24. }
  Responder Citando
Antiguo 06-jul-2009, 09:55   #3 (permalink)
FTech (Reg: julio-2009)
 
88 Mensajes
FTech está desconectado
Respuesta: Dev c++ (de decimal a binario,octal y hexadecimal)

He estado trabajando en el problema. Aqui tengo un pequeño avance. Falta mejorar el tema de la salida con bases mayores a 10.

Código c++:
Ver originalCopiar
  1. #include <iostream>
  2. #include <cmath>
  3. #include <cstring>
  4.  
  5. int DivReit(int iNum,int iBase);
  6. char* ConBase(int cNum,int cBase);
  7. char CDig(int digtconv);
  8.  
  9.  
  10. int main()
  11. {
  12.     int iNuma,iBaseg;
  13.     std::cout<<"Ingrese numero"<<std::endl;
  14.     std::cin>>iNuma;
  15.     std::cout<<"Ingrese base a convertir"<<std::endl;
  16.     std::cin>>iBaseg;
  17.     if(iBaseg<10){std::cout<<"Numero convertido:"<<DivReit(iNuma,iBaseg)<<std::endl;}
  18.     else{std::cout<<"Numero convertido:"<<ConBase(iNuma,iBaseg)<<std::endl;}
  19.     system("pause");
  20.     return 0;
  21. }
  22.  
  23. int DivReit(int iNum,int iBase)
  24. {
  25.     int k=0;
  26.     int suma=0;
  27.     int dig;
  28.     while(iNum!=0)
  29.     {
  30.         dig=iNum&#37;iBase;
  31.         suma=suma+dig*pow(10,k);
  32.         iNum=iNum/iBase;
  33.         k++;
  34.     }
  35.     return suma;
  36. }
  37.  
  38. char* ConBase(int cNum,int cBase)
  39. {
  40.     char* mystr;
  41.     int pos=0;
  42.     char sNum[10];
  43.     int dig,n;
  44.     char cdig;
  45.     while(cNum!=0)
  46.     {
  47.         dig=cNum%cBase;
  48.         cdig=CDig(dig);//Convierto mi digito
  49.         sNum[pos]=cdig;
  50.         cNum=cNum/cBase;
  51.         pos++;
  52.     }
  53.     n=strlen(sNum);
  54.     for(int i=0;i<n/2;i++)//Invierto mi numero
  55.     {
  56.         char aux;
  57.         aux=sNum[i];
  58.         sNum[i]=sNum[n-i-1];
  59.         sNum[n-i-1]=aux;
  60.     }
  61.     mystr=sNum;
  62.     return ++mystr;
  63. }
  64.  
  65. char CDig(int digtconv)
  66. {
  67.     char Mychars[]={'0','1','2','3','4','5','7','8','9','A','B','C','D','E','F'};
  68.     if(digtconv>9)
  69.     {
  70.         digtconv=Mychars[digtconv-1];
  71.         return digtconv;
  72.     }
  73.     else
  74.     {
  75.         digtconv=Mychars[digtconv];
  76.         return digtconv;
  77.     }
  78. }
  Responder Citando
Antiguo 06-jul-2009, 20:05   #4 (permalink)
darwin2201 (Reg: octubre-2008)
 
84 Mensajes
darwin2201 está desconectado
Respuesta: Dev c++ (de decimal a binario,octal y hexadecimal)

gracia primero que nada pero...
esto esta en borlan , TC....no se se puede pasar a dev c??

yo lo intentare pero dime si se puede...

y te repito...
muchas gracias por las molestias..
  Responder Citando
Antiguo 06-jul-2009, 20:29   #5 (permalink)
FTech (Reg: julio-2009)
 
88 Mensajes
FTech está desconectado
Respuesta: Dev c++ (de decimal a binario,octal y hexadecimal)

Hola darwin, cualquier código mientras c++ se puede pasar a cualquier compilador. Si quieres utilizar dev c++, no creo que tengas problemas, unicamente creo que tienes que cambiar cstring por string.h y cmath por math.h.

No lo compilé en borland.

De nada... A mi también me sirve para practicar.
  Responder Citando
Respuesta
No hay votos aún.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code está Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado
Trackbacks está Desactivado
Pingbacks está Desactivado
Refbacks está Desactivado



La zona horaria es GMT -6. Ahora son las 13:16.
Políticas de Uso de Foros del Web


Message Board Statistics

SEO by vBSEO 3.3.2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104