para manejar operaciones lógicas y tomar decisiones en instrucciones del tipo IF THEN (si ...
entonces ...). Para ello, los operadores lógicos tratan los valores a los que son aplicados como
grupos de bits y examinan y modifican los bits uno a uno. No es fácil describir las operaciones
lógicas sin antes dar unas definiciones concisas.
Las dos mitades de una expresión lógica son los 'argumentos'. Una expresión lógica tiene la
siguiente forma:
(argumento)) [(operador lógico) (argumento) )]
donde (argumento) puede ser:
NOT (argumento)
(expresión numérica)
(expresión de relación)
((expresión lógica))
Los dos argumentos de un operador lógico tienen que ser enteros; de lo contrario se produce el
error número 6.
Los operadores lógicos (en orden de prioridad) y su efecto sobre los bits son los siguientes:
AND El resultado es 0 a menos que los bits de los dos argumentos sean 1.
OR El resultado es 1 a menos que los bits de los dos argumentos sean O.
XOR El resultado es 1 a menos que los bits de los dos argumentos sean iguales.
AND es el operador lógico más utilizado.
PRINT
10
AND
da como resultado 10.
10
PRINT
AND
da como resultado 8.
PRINT
10
AND
también da como resultado 8.
Esto se debe a que los números 10 y 1000 han sido convertidos a su forma binaria:
1010
1111101000
La operación AND comprueba los bits dos a dos. Si los dos bits de las dos filas son 1, el
resultado es 1:
0000001000
y este número binario es el 8 decimal. El operador lógico AND se utiliza para detectar cuándo se
cumplen simultáneamente dos condiciones. He aquí un ejemplo que explica cómo:
10
INPUT
"Dia del mes:
20
INPUT
"Mes numero:
30
IF
dia=25
40
CLS:GOTO
50
PRINT
"Feliz Navidad!"
10
12
1000
",dia
",mes
AND
mes=12
THEN
50
10
Manual de Amstrad CPC 6128 (revisión 2008) - Página 336