Le module BINOPERATOR propose plusieurs fonctions de manipulation binaires entre valeurs.
Il offre les fonctions suivantes:
- bwor : ou booléen
- bwand : et booléen
- bwxor : ou exclusif
- bwnot : non booléen
- bwlshift : décalage binaire à gauche
- bwrshift : décalage binaire à droite
bwor
Cette fonction accepte X arguments, et fait des | (or booléen) entre eux.Exemple :
~bwor("1","0","1") soit "1" | "0" | "1"
bwand
Cette fonction accepte X arguments, et fait des & (and booléen) entre eux.Exemple :
~bwand("1","0","1") soit "1" & "0" & "1"
bwxor
Cette fonction accepte X arguments, et fait des ^ (xor booléen) entre eux.Exemple :
~bwxor("1","0","1") soit "1" ^ "0" ^ "1"
bwnot
Cette fonction accepte 1 argument, et effectue un not booléen.Exemple :
~bwnot("1") retournera 0
bwlshift
Cette fonction prend 2 arguments, et effectue un décalage à gauche du premier argument par le second. Cette fonction est l'équivalent de l'opérateur PHP <<Exemple :
~set("in",0x1A)
~set("out",~bwlshift(~get("in"),1))
~sprintf("%b",~get("in")) << 1 => ~sprintf("%b",~get("out")) en binaire soit ~get("out") en décimal
retournera:
11010 << 1 => 110100 en binaire soit 52 en décimal
bwrshift
Cette fonction prend 2 arguments, et effectue un décalage à droite du premier argument par le second. Cette fonction est l'équivalent de l'opérateur PHP >>Exemple :
~set("in",0x1A)
~set("out",~bwrshift(~get("in"),1))
~sprintf("%b",~get("in")) >> 1 => ~sprintf("%b",~get("out")) en binaire soit ~get("out") en décimal
retournera:
11010 >> 1 => 1101 en binaire soit 13 en décimal
Télécharger
FAQ
