Diferencia entre revisiones de «float»

De ArduWiki
Saltar a: navegación, buscar
(Advertencias)
(Referencias)
Línea 57: Línea 57:
 
== Referencias ==
 
== Referencias ==
 
* [https://www.arduino.cc/reference/es/language/functions/time/float/ Guia de referencia de Arduino]
 
* [https://www.arduino.cc/reference/es/language/functions/time/float/ Guia de referencia de Arduino]
* [https://playground.arduino.cc/ArduinoNotebookTraduccion/Datatypes Arduino oficial]
+
* [https://playground.arduino.cc/ArduinoNotebookTraduccion/Datatypes Playground]
 
* [https://manueldelgadocrespo.blogspot.com/p/float.html Arduino en español] - Manuel Delgado
 
* [https://manueldelgadocrespo.blogspot.com/p/float.html Arduino en español] - Manuel Delgado
 +
* [https://aprendiendoarduino.wordpress.com/2015/03/26/tipos-de-datos/ Aprendiendo Arduino] - Enrique Crespo
 +
* [http://rufianenlared.com/float/ Float, eres problematico y Arduino lo sabe] - Rufian en la red
  
 
[[Category:Variables]]
 
[[Category:Variables]]

Revisión del 12:21 25 feb 2019

Descripción

El formato numérico de 4 bytes (32 bits), son números de punto flotante osea con decimales. Están comprendidos entre -3.4E38 y +3.4E38.

Este tipo de números se usan a menudo para aproximar los valores analógicos y continuos porque tienen mayor resolución que los números enteros.

Nota: Si hacemos operaciones matemáticas con float, es necesario agregar un punto decimal, de lo contrario, será tratado como unint. Ver la página Constantes de punto flotante para más detalles.


Sintaxis

float variable [= valor];
variable = valorF;

Parametros

variable
Nombre de variable a definir.
valor
El valor asignado a la variable que debe contener un punto.
valorF
Forzar tipo con subfijo F. Puedes omitir la palabra float antes de nombre de variable.
Posibles formateadores
Base Subfijo Ejemplo
unsigned int U n = 123U
long L n = 123L
unsigned long UL n = 123UL
float F n =12.3F

Advertencias

  • Los float tienen sólo 6-7 dígitos decimales de precisión. Eso significa que el número total de dígitos, no es el número a la derecha del punto decimal.
  • Los números de punto flotante no son exactos y pueden producir resultados extraños si se comparan. Por ejemplo 6.0 / 3.0 puede no ser igual 2.0. En su lugar debe comprobar que el valor absoluto de la diferencia entre el número es menor que un número pequeño.
  • A diferencia de otras plataformas, donde se puede obtener una mayor precisión mediante el uso de un double (por ejemplo, hasta 15 dígitos), en el Arduino, el double es del mismo tamaño que el float.
  • Las operaciones matemáticas de punto flotante también son mucho más lenta que las operaciones matemáticas con enteros en los cálculos que realizan, por lo que deben evitarse si, por ejemplo, un bucle tiene que correr a gran velocidad para una función crítica de sincronización. Los programadores suelen convertir los cálculos de punto flotante a entero para aumentar la velocidad.

Ejemplo

x = 1.23F;
float n = 2.32;
int x = n/2      //1
float y = n/2    //1
float y = n/2.0  //1.16

Vea también

Referencias