Manipulations binaires

Manipulations binaires

On rappelle qu'un entier peut s'écrire sous sa forme décimale, binaire, ou hexadécimale :

13 (décimal) = 0b1101 = 0xd

> Les fonctions binString et hexString peuvent être utilisées pour obtenir la représentation respectivement binaire et hexadécimale d'un entier.

L'intérêt de savoir manipuler des valeurs binaires est de pouvoir optimiser des étapes lors de calculs fréquents, ou de manipuler des séries de booléens rapidement.

Qu'est-ce qu'un nombre binaire

Un nombre binaire peut représenter à la fois un nombre et un tableau de valeurs booléennes. Les entiers étant sur 64 bits, on peut représenter 64 valeurs booléennes en un entier. Par la suite, on considère qu'un bit à 1 correspond à une valeur true, et un bit à 0 correspond à false.

Opérateurs et fonctions disponibles

Les opérateurs binaires du LeekScript sont :

Des fonctions dédiées facilitent aussi la manipulation bit à bit : testBit, setBit, bitCount, bitLength, trailingZeros et leadingZeros.

Pour manipuler des entiers de plus de 64 bits, voyez les BigInteger.

Masques binaires

Les masques binaires sont utilisés pour récupérer la valeur de bits ou groupes de bits d'un nombre.

Récupérer la valeur d'un bit à l'indice N

Pour récupérer la valeur à l'indice N :

Récupérer la valeur de N bits consécutifs

Pour récupérer la valeur des N derniers bits :

0b111...111 est un nombre binaire avec N fois le nombre 1, donc équivalent à 2**N-1.