BOOLE
Fonction booléenne
Syntaxe : (boole fonc entier1 entier2 ... )
L'argument "fonc" est un nombre entier de 0 à 15 représentant l'une des 16 fonctions booléennes applicables à deux variables.
Les arguments suivants sont des nombres entiers combinés logiquement d'après la fonction désignée et la table de vérité suivante.
entier1 | entier2 | bit de fonction |
0 | 0 | 8 |
0 | 1 | 4 |
1 | 0 | 2 |
1 | 1 | 1 |
Chaque bit de entier1 est couplé avec le bit correspondant de entier2, pour désigner ce qui correspond à une ligne horizontale de la table de vérité.
Le bit résultant vaut 0 ou 1, suivant la valeur du bit "fonc" correspondant à cette ligne de la table de vérité.
Si le bit correspondant est armé (à 1) dans "fonc", le bit résultant vaut 1 ; sinon, il vaut 0.
Certaines valeurs de fonc sont équivalentes aux opérations booléennes standard AND (et), OR (ou), XOR (ou exclusif) et NOT (non).
fonc | opération | le bit résultant vaut 1 si : |
1 | AND (et) | Les deux bits d'entrée valent 1 |
6 | XOR (ou exclusif) | L'un des deux bits d'entrée seulement vaut 1 |
7 | OR (ou) | Au moins un des deux bits d'entrée vaut 1 |
8 | NOT (non) | Les deux bits d'entrée valent 0 (complément à 1 ) |
L'exemple ci-après exécute une opération logique AND sur les valeurs 12 et 5:
(Boole 1 12 5) |
Renvoie 4 0
Cet exemple exécute une opération logique XOR sur les valeurs 6 et 5 :
(Boole 6 6 5) |
Renvoie 3.
Vous pouvez utiliser d'autres valeurs de "fonc" pour effectuer d'autres opérations auxquelles ne correspond aucun nom standard.
Par exemple, si "fonc" vaut 4, les bits résultants vaudront 1 si les bits correspondants valent également 1 dans entier2, mais pas dans en entier1 :
(Boole 4 3 14) |
Renvoie 12.
10 janvier 2018