30. Operaciones Binarias
Contenido
@Bit
Devuelve el valor (0 o 1) del bit especificado en un campo o número.
Sintaxis
@Bit(Número1, Número2)
Retorno
(Booleano) Retorna el valor del bit especificado
Parámetros
Ejemplo
El número decimal 4 se representa en binario de la siguiente forma:
100
Se desea obtener el bit de una posición especifica, por ejemplo la posición 1:
Posición 1: 0
Posición 2: 0
Posición 3: 1
Para esto se invoca la función a través de los siguientes parámetros:
@Bit(1,4) trae 0
@Bit(2,4) trae 0
@Bit(3,4) trae 1
@BitAnd
Aplica un AND bit a bit comparando dos valores binarios correspondientes a dos expresiones numéricas. Devuelve el valor numérico correspondiente al resultado. Las dos expresiones son convertidas a sus equivalentes binarios sin signo aplicándose luego un AND bit a bit. Puede ser útil para ocultar ciertos bits.
Sintaxis
@BitAnd(Número1, Número2)
Retorno
(Booleano) Retorna el resultado de la comparación
Parámetros
Ejemplo
Se desean comparar los números decimales 10 y 15 desde la perspectiva de la coincidencia binaria. Su representación binaria es:
10: 1010 15: 1111
La función @BitAnd compara estas representaciones 1010 y 1111 indicando que coinciden en la 2da y 4ta posición de derecha a izquierda. Informaticamente estas se tratan como la posición 1 y 3. Por tanto, se retorna (2^1)+(2^3):
10
Para esto se invoca la función a través de los siguientes parámetros:
@BitAnd(10,15)
Ejemplo con Data
ID1
ID2
@BitAnd(ID1, ID2)
10
15
10
7,001
6,784
6,656
1,004
938
936
5,434
8
8
@BitOr
Aplica un OR bit a bit comparando dos valores binarios correspondientes a dos expresiones numérica. Devuelve el valor numérico correspondiente al resultado. Se aplica un OR al valor de la primera expresión, Número1 , mediante la segunda expresión numérica. Las dos expresiones son convertidas a sus equivalentes binarios sin signo aplicándose luego un OR bit a bit.
Sintaxis
@BitOr(Número1, Número2)
Retorno
(Booleano) Retorna el resultado de la comparación
Parámetros
Ejemplo
Se desean comparar los números decimales 10 y 15 desde la perspectiva de la coincidencia binaria. Su representación binaria es:
6: 0110 8: 1000
La función @BitOr compara estas representaciones 0110 y 1000 indicando que coinciden en la 2da, 3ra y 4ta posición de derecha a izquierda. Informaticamente estas se tratan como la posición 1, 2 y 3. Por tanto, se retorna (2^1)+ (2^2) + (2^3):
14
Para esto se invoca la función a través de los siguientes parámetros:
@BitOr(6,8)
Ejemplo con Data
ID1
ID2
@BitOr(ID1, ID2)
6
8
14
643
9,899
9,899
454
45
495
10,000
7
10,007
