La manipulation de bits consiste à agir sur des données au niveau d'un bit ou d'un ensemble de bits à l'aide d'opérations booléennes. En informatique, cette technique est notamment utilisée pour des opérations de bas niveau comme le contrôle des périphériques, ou encore dans certains algorithmes comme la détection et la correction d'erreur ou le chiffrement, ainsi que pour l'optimisation. À l'heure actuelle néanmoins, la plupart des langages de programmation modernes permettent de s'affranchir du travail à ce niveau en offrant au programmeur de travailler directement avec des abstractions plutôt qu'avec les bits qu'elles représentent. Les opérations permettant la manipulation des bits sont les opérations booléennes ET (AND), OU (OR), OU exclusif (XOR) et NON (NOT), ainsi que les décalages logiques et arithmétiques et les rotations. La manipulation de bits pose souvent problème aux programmeurs débutants, l'utilisation d'instructions assembleur pour manipuler les bits est souvent source d'embarras. C'est pourquoi, utiliser des méthodes de plus haut niveau est recommandé, puisque cela améliore la portabilité et la lisibilité du code source, sous réserve, évidemment, que le lecteur connaisse le langage utilisé. Les exemples de masquage ci-dessous sont écrits en C, mais peuvent être adaptés à tout langage supportant les opérateurs de calcul binaire. Le C comporte les opérateurs suivants pour la manipulation de bits : Dans la suite, n est le rang du bit que l'on considère, a la valeur originale et b la nouvelle valeur ayant son nième bit modifié. Mettre un bit à 1 : Pour forcer un bit à 1 on utilise le OU binaire car (1 OU x) = 1. unsigned char b = a | (1 < n); Mettre un bit à 0: Pour forcer un bit à 0 on utilise le ET binaire car (0 ET x) = 0 : unsigned char b = a & ~(1 < n); Inverser la valeur du bit: unsigned char b = a ^ (1 < n); Tester la valeur d'un bit: unsigned char b = a & (1 < n); Lors de la manipulation d'une grande quantité de bits constituée de plusieurs octets, on peut utiliser n = (index % 8) pour calculer le bit désiré.

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.