Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Chonk en 9 Julio 2010, 01:20 am



Título: [ code=C++] Conversor binario-decimal-binario
Publicado por: Chonk en 9 Julio 2010, 01:20 am
Hola, me gustaría saber como puedo hacer un programa en C que tenga las opciones de convertir un número binario a decimal y de decimal a binario. Aprovechando, me gustaría correr este programa en una shell de ubuntu. Alguna sugerencia?
Gracias anticipadas por la ayuda.


Título: Re: Conversor binario-decimal-binario
Publicado por: @synthesize en 9 Julio 2010, 01:23 am
Bienvenido al foro

Pon un avance del código que lleves si quieres ayuda. Y lee las reglas del foro

Saludos


Título: Re: Conversor binario-decimal-binario
Publicado por: do-while en 9 Julio 2010, 01:31 am
¡Buenas!

Busca informacion sobre bases de numeracion, y si no te saliese el programa, pon lo que hayas hecho hasta ahora.

¡Saludos!


Título: Re: Conversor binario-decimal-binario
Publicado por: Ariath en 9 Julio 2010, 01:33 am
Si tu mismo sabes como realizar la conversión binario -> decimal y viceversa, no tiene ningún misterio hacerlo, solo tienes que hacer los cálculos apropiados en cada caso.

Un programa tan simple no requiere bibliotecas especiales, con la de entrada y salida estandard basta, por lo que, una vez que lo hagas, el código lo podrás compilar sin problema alguno tanto en Ubuntu como en Windows.

Salu2


Título: Re: Conversor binario-decimal-binario
Publicado por: Chonk en 9 Julio 2010, 01:53 am
Perdon a todos. Olvide poner el avance. Bueno, logré crear el menu de esta forma:

[ code=C++]

#include <stdio.h>
#include <stdlib.h>

int main()
         {
         char _op='a';

         while( _op!='3' )
                  {
                  system( "clear" );
                  printf( "1. Binario a Decimal" );
                  printf( "\n2. Decimal a Binario" );
                  printf( "\n3. Salir" );
                  _op= getchar();
                  switch( _op )
                           {
                           case '1':
                                    break;
                           case '2':
                                    break;
                           case '3':
                                    break;
                           }
                  }
         printf( "\n\nPulsa para salir.." );
         getchar();
         return 0;
         }


En otro programa intente hacer el conversor decimal a binario con esto:


[ code=C++]

#include <stdio.h>
#define BITS 16

int main() {

int binNum[16];
int decNumElement;
int counter;

printf("\n\Ingresa el número: ");
scanf( "%d", &decNumElement );
for ( counter = 0; counter <= BITS; counter++ ) {
binNum[counter] = decNumElement % 2;
decNumElement = decNumElement / 2;
}
for ( counter = BITS; counter >= 0; counter-- ) {
printf("%d", binNum[counter]);
}
return 0;
}


Ahora, no se como integrarlos en uno solo y me falta el conversor binario a decimal, en el mismo programa, claro esta. Gracias y disculpas otra vez...


Título: Re: Conversor binario-decimal-binario
Publicado por: Ariath en 9 Julio 2010, 02:01 am
Para la integración, yo lo que haría sería crear una función para cada uno de los 2 conversores.

Esas funciones las pegas en el primer código, bien al final añadiendo al principio del mismo los prototipos, o bien las incluyes directamente al principio del mismo.

Salu2


P.D: Te recomiendo que uses la etiqueta [ code=C++], para que quede mejor el código (antes de la 'c' de code he puesto un espacio para poder imprimir la etiqueta.


Título: Re: Conversor binario-decimal-binario
Publicado por: do-while en 9 Julio 2010, 02:14 am
¡Buenas!

El conversor de decimal a binario parece correcto salvo por un detalle. Revisa los rangos de los vectores. Si aun asi no ves ningun error, busca en tus apuntes, google o algun tutorial o libro informacion sobre arrays (si la traduccion es mala (segun el profesor que tuve, pero ya no me fio de nada/nadie) lo pondra como arreglos).

¡Saludos!


Título: Re: [ code=C++] Conversor binario-decimal-binario
Publicado por: .:BlackCoder:. en 9 Julio 2010, 02:35 am
Lo voy a ayudar un poco... el error esta en uno de los for...

Busca en el foro sobre esas conversiones debe hacer varios post referentes a ello...

Saludos


Título: Re: [ code=C++] Conversor binario-decimal-binario
Publicado por: nicolas_cof en 9 Julio 2010, 02:50 am
Chonk, te dejo links con algunos temas en el foro que tienen algo de codigo que te puede servir...

https://foro.elhacker.net/programacion_cc/menu_de_transformar_numero_decimal_a_binariooctal_y_hexadecimal-t295051.0.html

https://foro.elhacker.net/programacion_cc/cambio_de_base_en_c-t287705.0.html

Nota: fijate tambien mucho en las respuestas de estos temas, que tienen varias correcciones...

Salu10.


Título: Re: [ code=C++] Conversor binario-decimal-binario
Publicado por: Ariath en 9 Julio 2010, 16:13 pm
Esto... Chonk, la etiqueta del code hay que cerrarla para que surta efecto, y según te puse en mi anterior mensaje, yo puse un espacio entre el '[' y la 'c' porque sino no podía mostrar la etiqueta, pero ese espacio lo necesitas quitar.

Es decir, sería de esta forma la cosa:

Código:
[code=C++]
Tu código aquí
[/code]

Salu2


P.D: Bueno, no me ha salido exacto como quería que apareciera, pero da igual, se ve bien a lo que me refiero.


Título: Re: [ code=C++] Conversor binario-decimal-binario
Publicado por: Horricreu en 9 Julio 2010, 16:18 pm
Esto... Chonk, la etiqueta del code hay que cerrarla para que surta efecto, y según te puse en mi anterior mensaje, yo puse un espacio entre el '[' y la 'c' porque sino no podía mostrar la etiqueta, pero ese espacio lo necesitas quitar.

Es decir, sería de esta forma la cosa:

Código:
[code=C++]
Tu código aquí
[/code]

Salu2


P.D: Bueno, no me ha salido exacto como quería que apareciera, pero da igual, se ve bien a lo que me refiero.

Bueno, no es exactamente como dice Ariath. Para utilizar GeSHi:

C
[code=c][/code]

C++
[code=cpp][/code]

Saludos :P

PD: para que se puedan mostrar las etiquetas sin que surjan efecto se utiliza: [nobbc][/nobbc]


Título: Re: [ code=C++] Conversor binario-decimal-binario
Publicado por: Debci en 9 Julio 2010, 17:52 pm
Esto... Chonk, la etiqueta del code hay que cerrarla para que surta efecto, y según te puse en mi anterior mensaje, yo puse un espacio entre el '[' y la 'c' porque sino no podía mostrar la etiqueta, pero ese espacio lo necesitas quitar.

Es decir, sería de esta forma la cosa:

Código:
[code=C++]
Tu código aquí
[/code]

Salu2


P.D: Bueno, no me ha salido exacto como quería que apareciera, pero da igual, se ve bien a lo que me refiero.

Bueno, no es exactamente como dice Ariath. Para utilizar GeSHi:

C
[code=c][/code]

C++
[code=cpp][/code]

Saludos :P

PD: para que se puedan mostrar las etiquetas sin que surjan efecto se utiliza: [nobbc][/nobbc]
Al final acabamos todos aprendiendo...

Saludos