Skip to content

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

Número1: (Numérico) el bit especificado del cual se requiere el valor. Puede tener un valor entre 1 y 32 como máximo.
Número2: (Numérico) el campo o constante del cual se requiere el valor de un bit especificado. Puede ser un campo numérico o un número, sin embargo será tratado como binario.

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

Número1: (Numérico) un campo o constante.
Número2: (Numérico) un campo o constante.

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

Número1: (Numérico) el primer campo o constante cuyo valor binario será comparado con el segundo.
Número2: (Numérico) el segundo campo o constante cuyo valor binario será comparado con el primero.

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
 
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.