« Programmation JavaScript/Opérateurs de bits » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
Autre utilisation classique des opérations binaires |
||
Ligne 16 :
Ici, nous avons 4 colonnes qui représentent un bit chacun. Il faut lire les données de droite à gauche. La première colonne représente 2^0, le second 2^1, le troisième 2^2 et enfin la quatrième 2^3
Il suffit alors de cumuler les valeurs. Ici :
<pre>
1* 2^0 = 1
Ligne 24 :
</pre>
Soit : 3
La combinaison de 0 et 1 permet donc de représenter n'importe quel chiffre selon la taille en octet alloué à la variable. Sur 4 bit, on peut alors représenter au
<pre>
1* 2^0 = 1
Ligne 34 :
</pre>
=== Opérations ===
Il est possible de manipuler des valeurs binaire en utilisant des
Ainsi, il est possible de faire : * une opération "
* une opération "
* un décalage de bits.▼
▲* une opération "ou exclusif"
▲* décalage de bits
Les 3 premières opérations se font "bit à bit" à place respectives. ▼
* Le "et" vérifie si les deux bits valent "1". Dans ce cas, l'opération résulte d'un "1", sinon "0".
* Le "ou" vérifie si un des bit est égal à "1" ou les deux. Dans ce cas, l'opération résulte d'un "1", sinon "0".
Ligne 78 ⟶ 77 :
Résultat 0101 => 5
=== Limitation ===
{{Attention|Les opérations se font sur 32 bits.
Les autres bits sont ignorés.}}
Exemple :
<syntaxhighlight lang="javascript">
0x100000007 >> 1 /* == 3 car seuls les bits 31 à 0 sont pris en compte. */
</syntaxhighlight>
=== Utilité ===
On se sert d'
Elles sont aussi utilisées pour manipuler les ensembles d'items dont le nombre d'instances est limité (énumération) représentés sous la forme d'un entier ou un bit à 1 représente la présence d'un item, et 0 son absence.
Il est à noter que répéter deux fois un "ou exclusif" revient à revenir à la valeur d'origine.
Exemple : Valeur 5 => 0101
|