Diferencia entre revisiones de «or bit a bit»
De ArduWiki
(→Advertencias) |
(→Referencias) |
||
(No se muestran 11 ediciones intermedias de 2 usuarios) | |||
Línea 1: | Línea 1: | ||
== Descripción == | == Descripción == | ||
− | El operador binario '''OR bit a bit''' es representado por el | + | El operador binario '''OR bit a bit''' es representado por el carácter barra <nowiki>|</nowiki>. OR establece (pone en 1) un bit sí y solo si el bit de esa posición está establecido (en 1) en al menos uno de los operandos. |
− | {| class="wikitable | + | {| class="wikitable col3cen" |
− | !a!!b!!<nowiki> | + | !a!!b!!a <nowiki>|</nowiki> b |
|- | |- | ||
||0||0||0 | ||0||0||0 | ||
Línea 13: | Línea 13: | ||
||1||1||1 | ||1||1||1 | ||
|} | |} | ||
+ | {{Nota|Esta operación también es usada para establecer (poner en uno) uno o varios bits específicos en una variable. Todo bit en 1 en el segundo operando, se establecerá; mientras que todo bit en cero se se quedará como está.}} | ||
== Sintaxis == | == Sintaxis == | ||
<pre> | <pre> | ||
+ | op1 | op2 | ||
</pre> | </pre> | ||
+ | |||
+ | ;op1: primer operando, es la variable (de cualquier tipo) a modificar. | ||
+ | ;op2: segundo operando, es quien va a relizar las modificaciones pertinentes. | ||
== Retorno == | == Retorno == | ||
− | + | El valor resultante, donde cada bit se establece sólo si lo está en al menos uno de los operandos. | |
== Advertencias == | == Advertencias == | ||
− | * No confundir este operador '''OR bit a bit''' <nowiki> | + | * No confundir este operador '''OR bit a bit''' <nowiki>|</nowiki> con el boleano [[or]] <nowiki>||</nowiki> |
+ | * Idealmente ambos operandos deberían ser del mismo tipo (tamaño); en caso de no ser así, solo se operará con los bytes menos significativos del más grande. | ||
== Ejemplo == | == Ejemplo == | ||
− | < | + | <syntaxhighlight lang="c++"> |
− | byte | + | byte var = 1; |
− | + | var |= B00000110; //Ahora var vale 7 debido a que establecí esos bits | |
− | + | </syntaxhighlight> | |
− | |||
− | |||
− | </ | ||
== Vea también == | == Vea también == | ||
− | * [[and]] | + | * [[not]] <nowiki>(!)</nowiki> |
− | * [[or]] | + | * [[and]] <nowiki>(&&)</nowiki> |
− | * [[not bit a bit]] | + | * [[or]] <nowiki>(||)</nowiki> |
− | * [[and bit a bit]] | + | * [[not bit a bit]] <nowiki>(~)</nowiki> |
+ | * [[and bit a bit]] <nowiki>(&)</nowiki> | ||
+ | * [[xor bit a bit]] <nowiki>(^)</nowiki> | ||
+ | * [[bitshift right]] <nowiki>(>>)</nowiki> | ||
+ | * [[bitshift left]] <nowiki>(<<)</nowiki> | ||
+ | <categorytree mode=all>Funciones bit y byte</categorytree> | ||
== Referencias == | == Referencias == | ||
* [https://www.arduino.cc/reference/es/language/functions/time/millis/ Guia de referencia de Arduino] | * [https://www.arduino.cc/reference/es/language/functions/time/millis/ Guia de referencia de Arduino] | ||
+ | * [https://playground.arduino.cc/Code/BitMath/#bitwise_or Bitwise OR] - Playgroubd | ||
− | [[Category: | + | [[Category:Operador bit a bit]] |
Revisión actual del 23:26 26 sep 2019
Descripción
El operador binario OR bit a bit es representado por el carácter barra |. OR establece (pone en 1) un bit sí y solo si el bit de esa posición está establecido (en 1) en al menos uno de los operandos.
a | b | a | b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Nota: Esta operación también es usada para establecer (poner en uno) uno o varios bits específicos en una variable. Todo bit en 1 en el segundo operando, se establecerá; mientras que todo bit en cero se se quedará como está.
Sintaxis
op1 | op2
- op1
- primer operando, es la variable (de cualquier tipo) a modificar.
- op2
- segundo operando, es quien va a relizar las modificaciones pertinentes.
Retorno
El valor resultante, donde cada bit se establece sólo si lo está en al menos uno de los operandos.
Advertencias
- No confundir este operador OR bit a bit | con el boleano or ||
- Idealmente ambos operandos deberían ser del mismo tipo (tamaño); en caso de no ser así, solo se operará con los bytes menos significativos del más grande.
Ejemplo
byte var = 1;
var |= B00000110; //Ahora var vale 7 debido a que establecí esos bits
Vea también
- not (!)
- and (&&)
- or (||)
- not bit a bit (~)
- and bit a bit (&)
- xor bit a bit (^)
- bitshift right (>>)
- bitshift left (<<)
Referencias
- Guia de referencia de Arduino
- Bitwise OR - Playgroubd