Diferencia entre revisiones de «and bit a bit»
De ArduWiki
(→Descripción) |
(→Referencias externas) |
||
(No se muestran 9 ediciones intermedias de 2 usuarios) | |||
Línea 1: | Línea 1: | ||
== Descripción == | == Descripción == | ||
− | El operador binario bit a bit | + | El operador binario bit a bit AND es representado por el caracter et (ampersand) '''&'''. AND establece (pone en 1) un bit sí y solo si el bit de esa posición está establecido (en 1) en ambos operandos. |
{| class="wikitable col1cen col2cen col3cen" | {| class="wikitable col1cen col2cen col3cen" | ||
− | !a!!b!!a <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 utilizada para borrar (poner en cero) uno o varios bits específicos en una variable. Todo bit en 1 en el segundo operando, se quedará como está; mientras que todo bit en cero se borrará}} | ||
== 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 ambos operandos. | |
== Advertencias == | == Advertencias == | ||
− | * No confundir el operador bit a bit | + | * No confundir el '''operador bit a bit and''' (&) con el boleano [[and]] ('''<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 segundo, o se podrían borrar bits si este es el más pequeño. | ||
== Ejemplo == | == Ejemplo == | ||
− | < | + | <syntaxhighlight lang="c++"> |
− | + | char n = -64; | |
− | + | n &= B01111111; //Con esto lo acabo de convertir en positivo; mientras que los demás bits no me interesan, por eso no los toco. | |
− | + | </syntaxhighlight> | |
− | |||
− | |||
− | </ | ||
== Vea también == | == Vea también == | ||
− | + | <categorytree mode=all>Operador bit a bit</categorytree> | |
− | + | <categorytree mode=all>Operador logico</categorytree> | |
− | + | <categorytree mode=all>Funciones bit y byte</categorytree> | |
− | |||
− | == Referencias == | + | == Referencias externas == |
* [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_and Bitwise AND] - Playground | ||
− | [[Category: | + | [[Category:Operador bit a bit]] |
Revisión actual del 23:27 26 sep 2019
Contenido
Descripción
El operador binario bit a bit AND es representado por el caracter et (ampersand) &. AND establece (pone en 1) un bit sí y solo si el bit de esa posición está establecido (en 1) en ambos operandos.
a | b | a & b |
---|---|---|
0 | 0 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
1 | 1 | 1 |
Nota: esta operación también es utilizada para borrar (poner en cero) uno o varios bits específicos en una variable. Todo bit en 1 en el segundo operando, se quedará como está; mientras que todo bit en cero se borrará
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 ambos operandos.
Advertencias
- No confundir el operador bit a bit and (&) con el boleano and (&&).
- 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 segundo, o se podrían borrar bits si este es el más pequeño.
Ejemplo
char n = -64;
n &= B01111111; //Con esto lo acabo de convertir en positivo; mientras que los demás bits no me interesan, por eso no los toco.
Vea también
Referencias externas
- Guia de referencia de Arduino
- Bitwise AND - Playground