Programación General > C/C++

 Convertidora Binario a otros sist

(1/2) > >>

vibit:
hola amigos es mi primer post. necesito su ayuda, tengo q hacer un convertidor de numeros binarios a decimal octal y hexadecimal, ya e logrado convertir a octal y a decimal pero a hexadeciman no encuentro la manera, me dijeron q agregando stdio.h y stdlib.h pero nose como usarlas.

aqui les mando el codigo para q vean como voy y si puedo arreglar algo...


--- Código: C++ ---#include <cstdlib>#include <iostream>#include <math.h>#include <stdio.h>#include <stdlib.h> using namespace std; int main(int argc, char *argv[]){            cout<<"----Proyecto Final----n";    cout<<"Convertidora de Numero Binarios a Decimal, Octal y Hexadecimaln";          cout<<"Conversor de Numero Binarios a Decimal, Octal y Hexadecimalnnn";    int longitud=0;int posicion; cout<<"Ingrese la LONGITUD del Numero BINARIO: ";cin>>longitud;cout<<"nn"; int vec[longitud]; int solucion=0;int solucion2;  for(posicion=0; posicion<=longitud-1; posicion++){    int num=0;    do    {        cout<<"Ingrese el El Numero "<<posicion+1<<"nn";        cin>>vec[num];        cout<<"n";        } while(vec[num]>1 || vec[num]<0);               solucion2 = pow(2,longitud-1-posicion)*vec[num];     solucion = solucion2 + solucion; } cout<<"El Numero en decimal es: "<<solucion<<"n"; int x,y;x=solucion%8;y=solucion/8; cout<<"El Numero en octal es:"<<y<<x<<"nnn";                                            system("PAUSE");    return EXIT_SUCCESS;}  

m0skit0:
Binario -> Hexadecimal es lo más fácil que existe:


--- Código: Text ---Hex  Binario0      00001      00012      00103      00114      01005      01016      01107      01118      10009      1001A      1010B      1011C      1100D      1101E      1110F      1111 Sólo hay que agrupar los bits de cuatro en cuatro y sustituírlos por el dígito hexadecimal que corresponda, por ejemplo:

110111001010101111001101101100 = 0011 0111 0010 1010 1111 0011 0110 1100 = 372AF36C

Salud

vibit:
y como hago para agrupar de 4 en 4 e igualarlo a el numero en hexadecimal?
eso es lo q no se

m0skit0:
Date un poco de tiempo y si sigues atascado lo hablamos.  

 :comp:  :hitcomp:

diego.martinez:
bueno, si tienes los 0s y 1s en un array, para pasarlo de binario  a decimal solo tienes que ir leyendolos del final al principio y haciendo
mi_valor = mi_valor<<1 | (( array[elemento]=='1') ? 1 : 0);

con esto conviertes cualquier cadena de ceros y unos ascii a un numero, que puede ser decimal o lo que quieras una vez lo tengas en la variable.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa