Effectue une op�ration de rotation sur les bits.
BitRotate ( value [, shift = 1 [, size = "W"]] )
value | Le nombre sur lequel la fonction doit op�rer. |
shift | [optionnel] Nombre de bits � d�caler circulairement vers la gauche (les nombres n�gatifs d�calent � droite). Si non donn�, la valeur par d�faut est 1. |
size | [optionnel] Une cha�ne qui d�termine la taille de la rotation, 16 bits par d�faut. Voir ce qui suit. |
"B" | Rotation des bits � l'int�rieur de l'octet de poids faible (8 bits). |
"W" | Rotation des bits � l'int�rieur du mot de poids faible (16 bits). |
"D" | Rotation des bits � l'int�rieur du double mot entier (32 bits). |
Succ�s: | Retourne le r�sulat de la rotation par le nombre de bits demand�s. |
�chec: | @error <> 0 si la taille est incorrecte. |
BitAND, BitNOT, BitOR, BitShift, BitXOR, Hex
#include <MsgBoxConstants.au3> Example() Func Example() ; Remarque: "b" est le symbole de l'octet. ;Assigne une variable locale avec une op�ration bit � bit d'une rotation � gauche de 1 bit sur le nombre 2. Local $iBitRotate1 = BitRotate(2, 1) ; 2 = 0010b rotation gauche une fois -> 4 = 0100b ; Remarque: Il est �quivalent de faire ceci: BitShift(2, -1) ; Affiche le r�sultat: 4 MsgBox($MB_SYSTEMMODAL, "", $iBitRotate1) ; Assigne une variable locale avec l'op�ration bit � bit d'une rotation � droite de 1 bit du nombre 1. Local $iBitRotate2 = BitRotate(1, -1) ; 1 = 0001b rotation droite une fois -> 32768 (32 bits) = 1000 0000 0000 0000b ; Affiche le r�sultat: 2^15 = 32768 MsgBox($MB_SYSTEMMODAL, "", $iBitRotate2) ;Assigne une variable locale avec l'op�ration bit � bit d'une rotation � droite de 2 bits du nombre 14. Local $iBitRotate3 = BitRotate(14, -2) ; 14 = 1110b rotation droite deux fois -> 32771 (16 bits) = 1000 0000 0000 0011b ; Affiche le r�sultat: 32771 MsgBox($MB_SYSTEMMODAL, "", $iBitRotate3) ;Assigne une variable locale avec l'op�ration bit � bit d'une rotation � droite de 2 bits du nombre 14 sur 32 bits. Local $iBitRotate4 = BitRotate(14, -2, "D") ; 14 = 1110b rotation droite deux fois -> -2147483645 (32 bits) = 1000 0000 0000 0000 0000 0000 0000 0011b (le premier bit est le signe) ; Affiche le r�sultat. MsgBox($MB_SYSTEMMODAL, "", $iBitRotate4) EndFunc ;==>Example