A bit field is a data structure that consists of one or more adjacent bits which have been allocated for specific purposes, so that any single bit or group of bits within the structure can be set or inspected. A bit field is most commonly used to represent integral types of known, fixed bit-width, such as single-bit Booleans. The meaning of the individual bits within the field is determined by the programmer; for example, the first bit in a bit field (located at the field's base address) is sometimes used to determine the state of a particular attribute associated with the bit field. Within CPUs and other logic devices, collections of bit fields called flags are commonly used to control or to indicate the outcome of particular operations. Processors have a status register that is composed of flags. For example if the result of an addition cannot be represented in the destination an arithmetic overflow is set. The flags can be used to decide subsequent operations, such as conditional jump instructions. For example, a JE ... (Jump if Equal) instruction in the x86 assembly language will result in a jump if the Z (zero) flag was set by some previous operation. A bit field is distinguished from a bit array in that the latter is used to store a large set of bits indexed by integers and is often wider than any integral type supported by the language. Bit fields, on the other hand, typically fit within a machine word, and the denotation of bits is independent of their numerical index. Bit fields can be used to reduce memory consumption when a program requires a number of integer variables which always will have low values. For example, in many systems storing an integer value requires two bytes (16-bits) of memory; sometimes the values to be stored actually need only one or two bits. Having a number of these tiny variables share a bit field allows efficient packaging of data in the memory. In C and C++, native implementation-defined bit fields can be created using unsigned int, signed int, or (in C99) _Bool.

À 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.
Cours associés (5)
ME-303: Microinformatique (pour GM)
Comprendre les microcontrôleurs et apprendre à les mettre en oeuvre, en particulier pour la commande de systèmes mécaniques.
CS-119(c): Information, Computation, Communication
L'objectif de ce cours est d'introduire les étudiants à la pensée algorithmique, de les familiariser avec les fondamentaux de l'Informatique et de développer une première compétence en programmation (
ME-213: Programmation pour ingénieur
Mettre en pratique les bases de la programmation vues au semestre précédent. Développer un logiciel structuré. Méthode de debug d'un logiciel. Introduction à la programmation scientifique. Introductio
Afficher plus
Séances de cours associées (26)
Distorsion du cube de Hamming
Explore la distorsion du cube de Hamming et les effets du retournement de bits individuels.
Distribution des clés quantiques, codage dense, téléportation
Couvre QKD, Dense Coding et Teleportation, expliquant les attaques, les choix de base et les tests de sécurité.
Gestion des erreurs dans LabVIEW
Met l'accent sur la gestion des erreurs dans LabVIEW, l'analyse des fichiers sources et l'exécution de programmes avec Xcode.
Afficher plus
Publications associées (19)

Biomaterial devices on Arecanut palm leaf for microwave applications

Anja Skrivervik, Sujith Raman

This paper presents an investigation on the possibility of arecanut palm leaf as a biomaterial substrate for various microwave devices such as transmission lines, antenna, filter and a radio frequency identification device (RFID). The dielectric properties ...
IEEE2023

Oracular Byzantine Reliable Broadcast

Rachid Guerraoui, Manuel José Ribeiro Vidigueira, Martina Camaioni, Matteo Monti

Byzantine Reliable Broadcast (BRB) is a fundamental distributed computing primitive, with applications ranging from notifications to asynchronous payment systems. Motivated by practical consideration, we study Client-Server Byzantine Reliable Broadcast (CS ...
Schloss Dagstuhl - Leibniz-Zentrum für Informatik2022

Horizontal side-channel full key recovery on ephemeral SIKE

Natacha Yolande Emmanuel Marie Linard de Guertechin, Aymeric Genet, Novak Kaluderovic

This paper describes the first practical single-trace side-channel power analysis of SIKE. The attack exploits the nature of elliptic curve point addition formulas which require the same function to be executed multiple times. We target the three point lad ...
2021
Afficher plus
Concepts associés (14)
Tableau de bits
Un tableau de bits (en anglais bitmap) est une structure de données, en particulier un tableau de données binaires. Il s'agit d'une collection ordonnée de bits assimilables à des booléens. Certes, l'appellation tableau évoque une grille semblable à celle des mots croisés, mais un tableau de bits peut très bien être en trois dimensions ou plus. Pour autant, le nombre d'éléments étant fini, connu, voire défini, la collection peut être inventoriée selon un chemin parcourant chaque « colonne » et chaque « ligne ».
Registre d'état
Le registre d'état, ou registre de drapeaux, est un ensemble de bits représentant des drapeaux au sein d'un processeur. Le registre RFLAGS est un exemple de registre d'état propre à l'architecture de processeurs x64. Les bits composant le registre d'état sont indépendants les uns des autres, et la valeur de chacun apporte une information supplémentaire quant au résultat d'une opération antérieure. En effet, au cours d'un calcul, le processeur va automatiquement mettre à jour le registre d'état, en plus de fournir le résultat de l'opération.
Booléen
vignette|George Boole (1864-1865) L'homme ayant mis en place la première structure algébrique utilisée en logique mathématique, en informatique et en électronique. En programmation informatique, un booléen est un type de variable à deux états (généralement notés vrai et faux), destiné à représenter les valeurs de vérité de la logique et l'algèbre booléenne. Il est nommé ainsi d'après George Boole, fondateur dans le milieu du de l'algèbre portant son nom. Le type de données booléen est principalement associé à des états conditionnels.
Afficher plus
MOOCs associés (1)
Comprendre les Microcontrôleurs
Ce cours donne les bases théoriques et pratiques nécessaires à une bonne compréhension et utilisation des microcontrôleurs. De nombreux exemples seront abordés. Des exercices seront proposés, compatib

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.