transformar binario a decimal

Iniciado por fdvd, 13 Julio 2015, 17:27 PM

0 Miembros y 1 Visitante están viendo este tema.

fdvd

tengo un proble en c++ necesito hacer un codigo me ayude a transformar un numero binario en decimal y verificar si el numero que ingrese por teclado sea un numero binario preferentemente con funciones porfavor una respuesta prota gracias!!!!! ::) ::) ::) ::)

engel lex

y lo quieres listo? vamos a tu uni y presentamos por ti?

-.- no se hacen tareas, se resuelven dudas, muestra tu código, explica tu duda en detalle...

intentaste usar un buscador? en google.com puedes colocar una busqueda y te da resultados relacionados, revisaste alguno?



El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Orubatosu

#2
Introduce el numero. El modo de hacerlo como quieras, ya sea caracter a caracter o mediante un string. En el primer caso comprueba el ASCII que sea 1 o 0, en el segundo haz una rutina que tras el retorno de carro mida la logitud y haga un bucle que haga la misma comprobación.

Si lo tienes en un string, que sería lo mas sencillo, con sacar la longitud ya sabes de cuanto debe de ser el bucle. Inicializas un entero a cero, y a partir de ahi multiplicas cada cifra, ya sea cero o uno empezando por la izquierda por un numero que multiplicaras por 2 a cada ciclo. La primera vez 1, la segunda 2, 4, 8 etc

A cada vuelta acumulas el resultado en la variable anterior, y al final del bucle tienes el resultado

No me dirás que no te lo he dejado a huevo

También creo que tengo por ahi una rutina ya hecha que hace exactamente eso, pero me da mucha pereza ponerme a buscarla

De hecho, como la clase string puede usar iteradores, tienes una oportunidad de oro de hacerlo muy bonito
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998

Gh057

Hola fdvd, o bien aplicar el concepto de pila... vas agregando cada caracter a la pila mientras sea 0 ó 1 (sino retornas falso en la función booleana de carga) calculando la potencia con respecto al índice que vas llenando de la pila, y acumulándola... Al final tienes tu resultado en decimal mostrando dicho acumulador.

Es algo más complejo, pero bastante genérico, y puedes implementarlo en otros ejercicios... ya que en realidad es una variación de un analizador de símbolos equilibrados (entiéndase por ello (){}[]) mediante el uso de un autómata a pila.

-off: En ella debes comparar el si al llegar a un símbolo de cierre, tu cima de pila es uno semejante de apertura, si es así, disminuyes tu pila... y mantienes tu retorno booleano en verdadero; caso contrario, retornas falso (error de balanceo de fómula). Al final debes tener si o si tu pila vacía, o ha habido error en el ingreso de datos.- 

Saludos.
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...