funcion de conversion de bases

Iniciado por m@o_614, 19 Marzo 2014, 01:09 AM

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

leosansan

Cita de: amchacon en 19 Marzo 2014, 19:01 PM
Me has entendido mal Leo, no me referia que lo hicieses de mala fe ^^

Lo que quería decir esque me comentas que la salida es erronea y me la enseñas:

Es exactamente la salida que pones en tu primer post. No entiendo, ¿acaso no era esa la salida correcta? :huh:

No ya que la entrada era el número "65536" y devolvía  el "65535".

¡¡¡¡ Saluditos! ..... !!!!



amchacon

La leche, que mala vista tengo ;D
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

leosansan

Cita de: amchacon en 19 Marzo 2014, 12:51 PM
........................................................................
 
Citarint num_decimal = 0;
.......................................................................

Aunque por eficiencia, yo lo haría sin la función pow (tal y como ha hecho Leo).

Gracias por el último comentario y el problema base  radica, como ya comenté, en que también declaras en tu código como int, en lugar de float o double, a la variable num_decimal .

Y no te preocupes por tu vista, es excelente, te lo asegura un declarado alumno incondicional tuyo.

Un fuerte abrazo campeón.


¡¡¡¡ Saluditos! ..... !!!!





m@o_614

muchas gracias a todos por sus respuestas, nunca me hubiera dado cuenta que era la función pow() la que me daba problemas, otra duda: por qué en la linea

entero = operando-'0';

le ponen -'0' en vez de -48??

rir3760

Cita de: m@o_614 en 20 Marzo 2014, 01:44 AMotra duda: por qué en la linea

entero = operando-'0';

le ponen -'0' en vez de -48?
Porque el valor es el mismo pero '0' es mas claro.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

leosansan

Cita de: rir3760 en 20 Marzo 2014, 02:56 AM

Porque el valor es el mismo pero '0' es mas claro.

Un saludo

¿Es que hay diferencia?.

Yo en particular lo he dejado porque así lo había puesto el autor del tema, además de que me manejo con cierta soltura con los códigos ASCII y es un forma de ir re teniéndolos.

Pero volviendo al principio, ¿Existe alguna diferencia de eficiencia o algo por el estilo?. Aún estoy en los inicios en este mundillo de la programación y me gustaría sentar bien las bases y, si alguien de tu nivel pone eso, por algo será.



¡¡¡¡ Saluditos! ..... !!!!






 

eferion

Cita de: m@o_614 en 20 Marzo 2014, 01:44 AM
muchas gracias a todos por sus respuestas, nunca me hubiera dado cuenta que era la función pow() la que me daba problemas, otra duda: por qué en la linea

entero = operando-'0';

le ponen -'0' en vez de -48??

Dicho de otra forma:


ASCII      int       bin         oct        hex
'0'        48        0b110000    060        0x30


Puedes utilizar cualquiera de las 5 opciones porque todas, al fin y al cabo, significan exactamente lo mismo.

amchacon

No hay ninguna diferencia de eficiencia, el compilador lo modifica poniendo 48.

Si se pone es porque así sabes porque pusistes 48.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar