[ code=C++] Conversor binario-decimal-binario

Iniciado por Chonk, 9 Julio 2010, 01:20 AM

0 Miembros y 2 Visitantes están viendo este tema.

Chonk

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.

@synthesize

Bienvenido al foro

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

Saludos

do-while

¡Buenas!

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

¡Saludos!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!

Ariath

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

Chonk

#4
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...

Ariath

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.

do-while

¡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!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!

.:BlackCoder:.

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
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja




nicolas_cof

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.

Ariath

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:


[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.