AWK - Fonctions de manipulation de bits

AWK a les fonctions de manipulation de bits intégrées suivantes -

et

Effectue une opération AND au niveau du bit.

Exemple

[jerry]$ awk 'BEGIN {
   num1 = 10
   num2 = 6
   printf "(%d AND %d) = %d\n", num1, num2, and(num1, num2)
}'

En exécutant ce code, vous obtenez le résultat suivant -

Production

(10 AND 6) = 2

compl

Il effectue une opération COMPLEMENT au niveau du bit.

Exemple

[jerry]$ awk 'BEGIN {
   num1 = 10
   printf "compl(%d) = %d\n", num1, compl(num1)
}'

En exécutant ce code, vous obtenez le résultat suivant -

Production

compl(10) = 9007199254740981

lshift

Il effectue une opération de changement de vitesse à gauche au niveau du bit.

Exemple

[jerry]$ awk 'BEGIN {
   num1 = 10
   printf "lshift(%d) by 1 = %d\n", num1, lshift(num1, 1)
}'

En exécutant ce code, vous obtenez le résultat suivant -

Production

lshift(10) by 1 = 20

rshift

Il effectue une opération SHIFT DROITE au niveau du bit.

Exemple

[jerry]$ awk 'BEGIN {
   num1 = 10
   printf "rshift(%d) by 1 = %d\n", num1, rshift(num1, 1)
}'

En exécutant ce code, vous obtenez le résultat suivant -

Production

rshift(10) by 1 = 5

ou

Il effectue une opération OR au niveau du bit.

Exemple

[jerry]$ awk 'BEGIN {
   num1 = 10
   num2 = 6
   printf "(%d OR %d) = %d\n", num1, num2, or(num1, num2)
}'

En exécutant ce code, vous obtenez le résultat suivant -

Production

(10 OR 6) = 14

xor

Il effectue une opération XOR au niveau du bit.

Exemple

[jerry]$ awk 'BEGIN {
   num1 = 10
   num2 = 6
   printf "(%d XOR %d) = %d\n", num1, num2, xor(num1, num2)
}'

En exécutant ce code, vous obtenez le résultat suivant -

Production

(10 bitwise xor 6) = 12