Diferencia entre revisiones de «true / false»

De ArduWiki
Saltar a: navegación, buscar
(Página creada con «== Descripción == == Sintaxis == <pre> true false </pre> == Advertencias == == Ejemplos == <pre> </pre> == Vea también == * HIGH / LOW * INPUT / OUTPUT / INPUT_...»)
 
(Vea también)
 
(No se muestran 15 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
 
== Descripción ==
 
== Descripción ==
 +
Son palabras reservadas (incluso del lenguaje de programación en el que se basa Arduino: C++) que sirven como los posibles valores para crear variables del tipo [[bool]].
 +
 +
A diferencia de otros lenguajes, es válido utilizarlos incluso para la asignación de variables número entero; ya que equivalen (respectivamente) a 1 y 0.
 +
 +
'''true''' (verdadero) comunmente se define como 1, lo cual es correcto, pero '''true''' tiene una definicion mas amplia. Cualquier entero que no es cero es '''true'', en el sentido Booleano. Asi que -1, 2 y -200 son todos definidos como '''true''', tambien, en un sentido Booleano.
  
 
== Sintaxis ==
 
== Sintaxis ==
Línea 8: Línea 13:
  
 
== Advertencias ==
 
== Advertencias ==
 +
* Nota que true y false se deben escribir en minusculas.
 +
* Son sinónimos de '''false''' un 0 o la palabra reservada [[HIGH / LOW|LOW]].
 +
* Son sinónimos de '''true''' cualquier numero distinto de 0 y la palabra reservada [[HIGH / LOW|HIGH]].
  
 
== Ejemplos ==
 
== Ejemplos ==
<pre>
+
<syntaxhighlight lang="c++">
</pre>
+
bool estado = true;
 +
bool residuo = numero%5;
 +
bool led = LOW;
 +
</syntaxhighlight>
 +
 
 +
== Ejemplo 1 ==
 +
Debido a que [[Print]] ("padre" de [[Stream]], y por ende de clases como [[Serial]]) no implementa una manera específica de lidiar con [[bool]], ni siquiera en el monitor serial aparecería directamente "true" o "false":
 +
<syntaxhighlight lang="c++">
 +
bool b = false;
 +
Serial.println(b); // Sólo aparecerá "0"
 +
b = true;
 +
Serial.println(b); // Sólo aparecerá "1"
 +
</syntaxhighlight>
 +
 
 +
== Ejemplo 2 ==
 +
Debido a la naturaleza del tipo de dato [[bool]] se puede negar.
 +
 
 +
<syntaxhighlight lang="c++">
 +
bool x = false;
 +
Serial.println(x);  //Sólo aparecerá "0"
 +
Serial.println(!x);  //Sólo aparecerá "1"
 +
</syntaxhighlight>
 +
 
 +
== Ejemplo 3 ==
 +
Nota que en el [[if... else]] no es necesario comparar.
 +
<syntaxhighlight lang="c++">
 +
void setup(){
 +
  pinMode(LED_BUILTIN, OUTPUT);
 +
}
 +
void loop(){
 +
  if (digitalRead(LED_BUILTIN)){
 +
      digitalWrite(LED_BUILTIN, !digitalRead(13));
 +
      delay(500);
 +
  }
 +
}
 +
</syntaxhighlight>
  
 
== Vea también ==
 
== Vea también ==
* [[HIGH / LOW]]
+
<categorytree mode=all>Palabras reservadas</categorytree>
* [[INPUT / OUTPUT / INPUT_PULLUP]]
 
* [[LED_BUILTIN]]
 
* [[PI]]
 
  
 
== Referencias externas ==
 
== Referencias externas ==
 +
* [http://manueldelgadocrespo.blogspot.com/p/false.html false] - Manuel Delgado
 +
* [http://manueldelgadocrespo.blogspot.com/p/true.html true] - Manuel Delgado
  
[[Category:Variables]]
+
[[Category:Palabras reservadas]]

Revisión actual del 16:52 4 jul 2019

Descripción

Son palabras reservadas (incluso del lenguaje de programación en el que se basa Arduino: C++) que sirven como los posibles valores para crear variables del tipo bool.

A diferencia de otros lenguajes, es válido utilizarlos incluso para la asignación de variables número entero; ya que equivalen (respectivamente) a 1 y 0.

'true (verdadero) comunmente se define como 1, lo cual es correcto, pero true tiene una definicion mas amplia. Cualquier entero que no es cero es true, en el sentido Booleano. Asi que -1, 2 y -200 son todos definidos como true, tambien, en un sentido Booleano.

Sintaxis

true
false

Advertencias

  • Nota que true y false se deben escribir en minusculas.
  • Son sinónimos de false un 0 o la palabra reservada LOW.
  • Son sinónimos de true cualquier numero distinto de 0 y la palabra reservada HIGH.

Ejemplos

bool estado = true;
bool residuo = numero%5;
bool led = LOW;

Ejemplo 1

Debido a que Print ("padre" de Stream, y por ende de clases como Serial) no implementa una manera específica de lidiar con bool, ni siquiera en el monitor serial aparecería directamente "true" o "false":

bool b = false;
Serial.println(b); // Sólo aparecerá "0"
b = true;
Serial.println(b); // Sólo aparecerá "1"

Ejemplo 2

Debido a la naturaleza del tipo de dato bool se puede negar.

bool x = false;
Serial.println(x);   //Sólo aparecerá "0"
Serial.println(!x);  //Sólo aparecerá "1"

Ejemplo 3

Nota que en el if... else no es necesario comparar.

void setup(){
   pinMode(LED_BUILTIN, OUTPUT);
}
void loop(){
   if (digitalRead(LED_BUILTIN)){
      digitalWrite(LED_BUILTIN, !digitalRead(13));
      delay(500);
   }
}

Vea también


Referencias externas

  • false - Manuel Delgado
  • true - Manuel Delgado