templeet
pix
corner_top pix


Manipulations binaires

 

Les fonctions décrites dans cette bibliothèques ne sont normalement pas appelées directement dans un template. Ces fonctions ne sont pas dans le cœur de Templeet car elle ne sont que rarement utilisées.
On préfera habituellement la notation avec les opérateurs classiques.

bwor

Cette fonction accepte un nombre variable d'arguments, et fait des "ou" booléen entre eux.

Exemple :

x=bwor(1,0,1);
// ou bien en notation avec opérateurs:
x=1|0|1;

Le résultat dans les deux cas est:

1
bwand

Cette fonction accepte un nombre variable d'arguments, et fait des "et" booléen entre eux.

Exemple :

x=bwand(1,0,1);
// ou bien en notation avec opérateurs:
x=1&0&1;

Le résultat dans les deux cas est:

0
bwxor

Cette fonction accepte un nombre variable d'arguments, et fait des "ou exclusif" booléen entre eux.

Exemple :

x=bwxor(1,0,1);
// ou bien en notation avec opérateurs:
x=1^0^1;

Le résultat dans les deux cas est:

0
bwnot

Cette fonction accepte un argument, et effectue un "non" booléen.

Exemple :

x=bwnot(1);
// ou bien en notation avec opérateurs:
x=!1;

Le résultat dans les deux cas est:

0
bwlshift

Cette fonction prend deux arguments, et effectue un décalage à gauche du premier argument par le second.

Exemple :

~rem(
  x=0x1A;
  )
 
x en binaire:  
~sprintf("%b",x)
x décalé à gauche de 1 bit:
~sprintf("%b",bwlshift(x,1))
la même chose mais avec la notation opérateur:
~sprintf("%b",x << 1)

Le résultat est:

x en binaire:  
11010
x décalé à gauche de 1 bit;
110100
la même chose mais avec la notation opérateur:
110100
bwrshift

Cette fonction prend deux arguments, et effectue un décalage à droite du premier argument par le second.

Exemple :

~rem(
  x=0x1A;
  )
 
x en binaire:  
~sprintf("%b",x)
x décalé à droite de 1 bit:
~sprintf("%b",bwrshift(x,1))
la même chose mais avec la notation opérateur:
~sprintf("%b",x >> 1)

Le résultat est:

x en binaire:  
11010
x décalé à droite de 1 bit:
1101
la même chose mais avec la notation opérateur:
1101


corner_bottom pix
pix