Operadores bit a bit
Estas son las últimas funciones de manejo de cadenas.
$A & $B
El operador
& compara los valores binarios de cada uno de los bits de las cadenas $A y $B y devuelve
1 en el caso que ambos sean
1 y
0 en cualquier otro caso.
Cuando las variables
$A y
$B son
cadenas compara los valores binarios de los códigos ASCII de los caracteres y devuelve los caracteres ASCII correspondientes al resultado de esa comparación
$A | $B
Funciona de forma idéntica al anterior y
devuelve 1 cuando
al menos el valor de uno de los bits comparados es
1 y devolverá
0 cuando
ambos sean
0.
$A ^ $B
Devuelve
1 cuando los bits comparados son
distintos y
0 cuando son
iguales.
$A << $B
Multiplica el valor de
$A por
2$B.
Hace la operación en la cadena
binaria añadiendo
$B CEROS a la derecha de la cadena binaria de $A.
No tiene sentido con
cadenas literales,
$B tiene que ser un
entero y trata las cadenas numéricas como números enteros.
$A >> $B
Divide el valor de
$A por
2$B.
Hace la operación en la cadena
binaria quitando
$B CEROS por la derecha de la cadena binaria de $A.
~ $A
Invierte los valores de los bits de la cadena
$A conviertiendo los CEROS en UNO y los UNO en CERO.