Êtes-vous un étudiant de l'EPFL à la recherche d'un projet de semestre?
Travaillez avec nous sur des projets en science des données et en visualisation, et déployez votre projet sous forme d'application sur Graph Search.
En logique, une opération bit à bit est un calcul manipulant les données directement au niveau des bits, selon une arithmétique booléenne. Elles sont utiles dès qu'il s'agit de manipuler les données à bas niveau : codages, couches basses du réseau (par exemple TCP/IP), cryptographie, où elles permettent également les opérations sur les corps finis de caractéristique 2. Les opérations bit à bit courantes comprennent des opérations logiques bit par bit et des opérations de décalage des bits, vers la droite ou vers la gauche. Les opérateurs élémentaires sont des opérations binaires réalisées simultanément sur l'ensemble des bits d'un mot de manière indépendante. Ainsi, la valeur du bit de rang n dans le résultat ne dépend que des valeurs des bits de même rang dans les opérandes d'entrée. Représente la négation logique, le complément d'une expression. Chaque bit est inversé. Par exemple, sur , NOT 7 = 8 : NOT 0111 = 1000 Le et logique de deux expressions. Ex : 5 AND 3 = 1 : 0101 AND 0011 = 0001 Le ou logique de deux expressions. Ex : 5 OR 3 = 7 : 0101 OR 0011 = 0111 Le ou exclusif de deux expressions. Ex : 5 XOR 3 = 6 : 0101 XOR 0011 = 0110 Tout comme en base décimale un décalage à gauche représente une multiplication par 10, en base binaire, un décalage à gauche correspond à une multiplication par 2. A contrario, le décalage à droite représente une division dans les mêmes proportions. Un décalage logique consiste à supprimer un bit d'un côté du vecteur pour le remplacer par un zéro de l'autre côté. 00010111 (+23) LEFT-SHIFT = 00101110 (+46) On note que sur une architecture de taille figée, le bit de poids fort peut être perdu (dépassement de capacité), et donc le résultat incorrect si l'on souhaitait réaliser une multiplication par deux. De plus, si le complément à deux est utilisé pour représenter les nombres négatifs, le bit de signe peut être altéré, donnant un résultat de signe opposé à l'opérande : 10110111 (-73) LEFT-SHIFT = 01101110 (+110) Le décalage à droite représente une division entière par 2.
David Atienza Alonso, Giovanni Ansaloni, Alexandre Sébastien Julien Levisse, Marco Antonio Rios, Flavio Ponzina
Sébastien Marcel, Hatef Otroshi Shahreza