TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Palomino86 en 26 de Noviembre de 2010, 16:38:26

Título: Duda con numeros Flotantes en C18
Publicado por: Palomino86 en 26 de Noviembre de 2010, 16:38:26
Hola que tal;

Bueno como ahora tengo la necesidad de utilizar numeros flotantes y los he estado checando pero me de aqui me surgen una serie de dudas....

He visto que son variables de 32 bits osease 4 bytes y en c18 nos muestra una tabla de rangos en el manual del compilador...Pero como puedo determinar el numero maximo de enteros y de decimales que puedo utilizar en una variable de este tipo?
Y además quisiera saber si al compilador se le tiene que ajustar alguna configuracion al momento de trabajar con este tipo de variables. :shock:

Saludos

Título: Re: Duda con numeros Flotantes en C18
Publicado por: Palomino86 en 30 de Noviembre de 2010, 13:33:39
Tengo otra duda...

Al momento de realizar operaciones entre flotantes en c18, es normal que se pierdan datos? :shock:

Saludos
Título: Re: Duda con numeros Flotantes en C18
Publicado por: bmfranky en 30 de Noviembre de 2010, 14:18:12
Hola palomino86, supongo que te referirás a los decimales, en c18, no se ,pero de normal, si no es una librería de alto nivel matemática, en todos los compiladores, se redondea el tamaño de los decimales ya que suelen tener un tamaño definido para estos y muchas veces los superamos. por ejemplo el borland c++ 1.0 , definía los float como 64 bits, de los cuales solo 24 eran para los decimales como máximo y menos si el numero entero era mayor a 16 millones o algo así. ello lo arreglaban con una librería especifica que definía un tipo de float superior , de 80 bits, parece una burrada de cifras, pero cuando usas calculo no lo es tanto. a partir del c++ 3.0 ya era así por defecto.

Te digo esto, porque dependiendo del ajuste definido en la librería del c18, perderás mas o menos datos, pero es , en cierto modo normal.
Título: Re: Duda con numeros Flotantes en C18
Publicado por: Palomino86 en 30 de Noviembre de 2010, 15:31:51
Gracias por la info bmfranky;

Tengo otra duda cual es la diferencia entre trabajar en modo extendido y modo no extendido en c18?

Saludos
Título: Re: Duda con numeros Flotantes en C18
Publicado por: Suky en 30 de Noviembre de 2010, 15:49:20
Lee por aquí: http://es.wikipedia.org/wiki/IEEE_coma_flotante

Te darás cuenta de porque se pierde exactitud dependiendo de los valores que quieras representar. C18 implementa 32-bits para el numero float.

Saludos!
Título: Re: Duda con numeros Flotantes en C18
Publicado por: bmfranky en 01 de Diciembre de 2010, 09:58:55
Gracias, Suky, por la apreciación, siempre se me olvida que en la wiki, todo esta mejor explicado, porque la verdad es que yo me explico,"Como un libro cerrado en el fondo de un armario". ;-) :D