Cobol - Operaciones Logicas Nivel de bit

 
Vista:

Operaciones Logicas Nivel de bit

Publicado por sapitoazul (1 intervención) el 06/11/2006 17:19:24
Resulta que necesito hacer operaciones lógicas a nivel de bit sobre una variable, esto es el AND, OR y NOT. Pero no se cómo hacerlo de forma inmediata, no se me habia dado el caso antes.

Quiero poder hacer lo siguiene:

Variable1 = variable2 AND variable3
Variable1 = variable2 OR variable3

También necesito:
Variable1 = not variable2.
también me gustaría saber si hay forma de aplicar una mascara de bits a una variable,
como el if (variable&mascara_bits) de C.

saludos y gracias...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Operaciones lógicas a nivel de bits y aplicación de máscara de bits en COBOL

Publicado por Alejandro (300 intervenciones) el 06/09/2023 23:39:46
En COBOL, puedes realizar operaciones lógicas a nivel de bits utilizando los operadores de bits proporcionados por el lenguaje. Aquí tienes cómo hacerlo:

1. Operación AND a nivel de bits:

Puedes realizar una operación AND a nivel de bits utilizando el operador `AND` en COBOL. Aquí tienes un ejemplo:

1
2
3
4
MOVE variable2 TO Variable1
PERFORM VARYING i FROM 1 BY 1 UNTIL i > LENGTH OF Variable1
    COMPUTE Variable1 (i) = Variable1 (i) BIT AND variable3 (i)
END-PERFORM

Esto realizará una operación AND bit a bit entre `variable2` y `variable3` y almacenará el resultado en `Variable1`.

2. Operación OR a nivel de bits:

De manera similar, puedes realizar una operación OR a nivel de bits utilizando el operador `OR` en COBOL:

1
2
3
4
MOVE variable2 TO Variable1
PERFORM VARYING i FROM 1 BY 1 UNTIL i > LENGTH OF Variable1
    COMPUTE Variable1 (i) = Variable1 (i) BIT OR variable3 (i)
END-PERFORM

Esto realizará una operación OR bit a bit entre `variable2` y `variable3` y almacenará el resultado en `Variable1`.

3. Operación NOT a nivel de bits:

Para realizar una operación NOT a nivel de bits, puedes utilizar el operador `NOT` en COBOL de la siguiente manera:

1
2
3
4
MOVE variable2 TO Variable1
PERFORM VARYING i FROM 1 BY 1 UNTIL i > LENGTH OF Variable1
    COMPUTE Variable1 (i) = NOT Variable1 (i)
END-PERFORM

Esto realizará una operación NOT bit a bit en `variable2` y almacenará el resultado en `Variable1`.

4. Aplicar una máscara de bits:

Para aplicar una máscara de bits a una variable en COBOL, puedes usar el operador `AND`. Aquí tienes un ejemplo:

1
2
3
4
5
IF Variable AND MascaraBits = MascaraBits
    DISPLAY "La máscara de bits está presente en la variable."
ELSE
    DISPLAY "La máscara de bits no está presente en la variable."
END-IF

Esto verificará si los bits especificados por `MascaraBits` están presentes en `Variable`.

Ten en cuenta que la longitud y la representación de las variables en COBOL pueden variar según la implementación y la plataforma. Asegúrate de que las variables involucradas tengan la misma longitud y formato para realizar operaciones de bits correctamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar