1. &
Operador bit a bit
Anteriormente dijimos que todos los datos se almacenan en la memoria en una representación binaria. Entonces, hace mucho tiempo, los programadores idearon muchas formas interesantes de trabajar con números binarios. Por ejemplo, Java tiene operadores lógicos que operan en los bits de la representación binaria de un número: &
(AND) | (OR)
, ~
(NOT o complemento) y ^
(XOR - exclusivo o).
a & b
&
(AND)
Este operador es muy similar al &
operador lógico (AND), solo que se denota con un solo ampersand, no con dos:
Y se aplica a bits individuales. Cada operando se trata como una matriz de bits, y el i
enésimo bit del resultado se calcula utilizando el i
enésimo bit de cada uno de los dos operandos.
El primer bit del resultado se calculará en función del primer bit del número a
y el primer bit del número b
, el segundo bit, en función del segundo bit del número a
y el segundo bit del número b
, etc.
El &
operador (AND) significa que "el bit resultante es igual a uno solo si el bit correspondiente del número a
es igual a uno, AND
el bit correspondiente del número b
es igual a uno":
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
Ejemplos:
Ejemplo | Resultado |
---|---|
|
|
|
|
|
|
|
|
2. |
Operador bit a bit
Este operador es muy similar al |
operador lógico (OR), solo que se denota con una sola línea vertical, no con dos:
a | b
Y se aplica a bits individuales. Cada operando se trata como una matriz de bits, y el i-ésimo bit del resultado se calcula utilizando el i-ésimo bit de cada uno de los dos operandos.
El |
operador bit a bit (OR) significa que "el bit resultante es igual a uno si el bit correspondiente del número a
es igual a uno OR
el bit correspondiente del número b
es igual a uno":
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
Ejemplos:
Ejemplo | Resultado |
---|---|
|
|
|
|
|
|
|
|
Solo cuando los bits correspondientes (los bits en la misma posición) de ambos números son cero, el bit correspondiente del resultado es igual a cero.
3. ^
Operador bit a bit (XOR o "o exclusivo")
El XOR
operador, también pronunciado exclusivo o , se denota con el ^
símbolo. Para ingresarlo en el teclado, presione shift + 6 (en un diseño de teclado en inglés).
a ^ b
Este operador es algo similar al OR
operador, incluso porque tiene un nombre similar:XOR
El ^
operador bit a bit (XOR) significa que "el bit resultante es igual a uno si el bit correspondiente del número a
es igual a uno OR
el bit correspondiente del número b
es igual a uno pero no ambos al mismo tiempo":
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
Ejemplos:
Ejemplo | Resultado |
---|---|
|
|
|
|
|
|
|
|
Solo cuando los bits correspondientes (los bits en la misma posición) de ambos números son diferentes , el bit correspondiente del resultado es igual a uno . Si los bits son iguales , el bit resultante es igual a cero .
4. ~
Operador bit a bit (NO, COMPLEMENTO)
Creo que ya puedes adivinar lo que hace. Este operador es muy similar al !
operador lógico (NOT), pero se denota con una tilde , no con un signo de exclamación:
~a
Este es un operador unario , lo que significa que se aplica a un solo número, no a dos. Aparece antes de este único operando.
El ~
operador bit a bit significa "el bit resultante es uno si el bit correspondiente del número a
es cero, y es cero si el bit correspondiente del número a
es uno":
~1 = 0
~0 = 1
Ejemplos:
Ejemplo | Resultado |
---|---|
|
|
|
|
|
|
|
|
Este operador simplemente cambia el bit que es 1
a 0
y los bits que son 0
a 1
.
GO TO FULL VERSION