Effectue une opération de décalage sur les bits.
BitShift ( value, shift )
value | Le nombre dont il faut décaler les bits. |
shift | Le nombre de bits à décaler vers la droite (un nombre négatif décale vers la gauche). |
BitAND, BitNOT, BitOR, BitRotate, BitXOR, Hex
#include <MsgBoxConstants.au3> Example() Func Example() ;Remarque: "b" est le symbole pour la notation binaire. ; Assigne une variable locale avec le résultat du décalage à gauche d'un bit du nombre 2. Local $iBitShift1 = BitShift(2, -1) ; 2 = 0010b décalée à gauche une fois -> 4 = 0100b ;Remarque: Il est équivalent de faire : BitRotate (2, 1) ; Affiche le résultat: 4 MsgBox($MB_SYSTEMMODAL, "", $iBitShift1) ; Assigne une variable locale avec le résultat du décalage à droite d'un bit du nombre 1. Local $iBitShift2 = BitShift(1, 1) ; 1 = 0001b décalé à droite une fois -> 0 = 0000b ; Affiche le résultat: 0 MsgBox($MB_SYSTEMMODAL, "", $iBitShift2) ; Assigne une variable locale avec le résultat du décalage à gauche de 2 bits du nombre 14. Local $iBitShift3 = BitShift(14, -2) ;14 = 1110b décalé à gauche deux fois -> 56 = 0011 1000b ; Affiche le résultat: 56 MsgBox($MB_SYSTEMMODAL, "", $iBitShift3) ; Assigne une variable locale bit à bit Local $iBitShift4 = BitShift(1, -31) ;1 = 0001b décalé à gauche 31 fois -> -2147483648 (32 bits) = 1000 0000 0000 0000 0000 0000 0000 0000b ;Remarque : dans la notation complément à 2, le 32ième chiffre à partir de la droite est le signe. ; Affiche le résultat. MsgBox($MB_SYSTEMMODAL, "", $iBitShift4) EndFunc ;==>Example