TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado 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
-
Tengo otra duda...
Al momento de realizar operaciones entre flotantes en c18, es normal que se pierdan datos? :shock:
Saludos
-
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.
-
Gracias por la info bmfranky;
Tengo otra duda cual es la diferencia entre trabajar en modo extendido y modo no extendido en c18?
Saludos
-
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!
-
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