Diferencia entre revisiones de «double»

De ArduWiki
Saltar a: navegación, buscar
(Página creada con «== Descripción == Número de punto flotante de doble precisión. Solo para MEGA. == Sintaxis == <pre> double variable [= valor]; </pre> == Parámetros == ;variable:...»)
 
(Referencias)
 
(No se muestran 4 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
 
== Descripción ==
 
== Descripción ==
Número de punto flotante de doble precisión. Solo para [[MEGA]].
+
Número de punto flotante de doble precisión (respecto a [[float]]).
  
 
== Sintaxis ==
 
== Sintaxis ==
Línea 12: Línea 12:
  
 
== Advertencias ==
 
== Advertencias ==
* En Arduino [[UNO]] '''double''' ocupa 4 bytes (32 bits) por lo que es igual a [[float]]
+
* En Arduinos con ATmega (AVR en general), '''double''' ocupa 4 bytes (32 bits); por lo que es igual a [[float]] y no hay ganancia en precisión.
* En Arduino [[MEGA]] '''double''' ocupa 8 bytes (64 bits) de precisión.
+
* En Arduino [[DUE]], '''double''' ocupa 8 bytes (64 bits); por lo tanto sí mejora la precisión.
  
== Ejemplo ==
+
== Ejemplo 1 ==
 
<pre>
 
<pre>
 +
double areaCirculo = PI * sq(r); // Pi * r^2, r: radio del círculo
 +
double pruebaDecimales = 1.234567890123456789; // ¿Podrá almacenar tantos dígitos decimales?
 
</pre>
 
</pre>
 +
 +
== Ejemplo 2 ==
 +
Si tienes un [[float]] o un '''double''' puedes especificar el numero de decimales.
 +
 +
<syntaxhighlight lang="c++">
 +
Serial.print(PI, 2);    //3.14
 +
Serial.println(PI, 6);  //3.141593
 +
</syntaxhighlight>
  
 
== Vea también ==
 
== Vea también ==
* [[byte]]
+
<categorytree mode=all>Tipo dato</categorytree>
* [[int]]
 
* [[long]]
 
* [[float]]
 
* [[unsigned int]]
 
* [[word]]
 
* [[unsigned long]]
 
  
 
== Referencias ==
 
== Referencias ==
  
[[Category:Variables]]
+
[[Category:Tipo dato]]

Revisión actual del 14:41 6 may 2019

Descripción

Número de punto flotante de doble precisión (respecto a float).

Sintaxis

double variable [= valor];

Parámetros

variable
variable a definir
valor
valor a asignar

Advertencias

  • En Arduinos con ATmega (AVR en general), double ocupa 4 bytes (32 bits); por lo que es igual a float y no hay ganancia en precisión.
  • En Arduino DUE, double ocupa 8 bytes (64 bits); por lo tanto sí mejora la precisión.

Ejemplo 1

double areaCirculo = PI * sq(r); // Pi * r^2, r: radio del círculo
double pruebaDecimales = 1.234567890123456789; // ¿Podrá almacenar tantos dígitos decimales?

Ejemplo 2

Si tienes un float o un double puedes especificar el numero de decimales.

Serial.print(PI, 2);     //3.14
Serial.println(PI, 6);   //3.141593

Vea también

  bool
  byte
  char
  int
  long
  void
  word


Referencias