bitshift

2001.01.17

Douglas Edric Stanley

> source code: bitshift

Mode d'emploi. Cliquer dans l'espace ci-contre et déplacez votre souris de haut en bas.

Argument. Ce diagramme démontre une des techniques de programmation qui exploite la nature spatiale, voire physiques des valeurs numériques. Il est complémentaire à bitmask et wraparound dans la mesure que ces trois diagrammes manipule les valeurs à partir de leur composantes discrètes, c'est-à-dire comme des suites de « 0 » et de « 1 », ou simplement comme une suite d'interrupteurs ouverts ou fermés. Nous rappelons que dans un « byte » numérique il y a huit interrupteurs représentant soit « 0 » soit « 1 ». Si nous voulons utiliser ces huit interrupteurs pour représenter un chiffre unique, nous superposons sur les huit états binaires un tableau représentant des chiffres qui doivent se multiplier ensuite aux « 0 » et « 1 » pour donner la valeur unitaire. Chaque interrupteur représente dans ce cas une valeur différente, en réalité basé sur les puissances de 2, c'est-à-dire 1, 2, 4, 8, 16, 32, 64, et 128.

Un bitshift prend chacun des ces états discrets et les déplace à doite ou à gauche. Souvent représentés par les signes « >> » ou « << » en prorammation, un bitshift à gauche par exemple prend l'état du « bit » qui represente « 1 » et le déplace dans la case correspondant au bit « 2 ». En décalant chacune des valeurs, on finit par tout simplement doubler la valeur, comme on voit dans le diagramme ci-dessous.

bitshift diagram

Nous partons de la valeur « 42 » qui est représenté en code binaire par la séquence « 00101010 ». En lui applicant un bitshift à gauche, nous nous trouvons avec la séquence « 01010100 », c'est-à-dire « 84 », le double de « 42 ». Avec encore un bitshift avec la séquence « 10101000 », c'est-à-dire « 168 » qui est également le double du chiffre précédent.