[{"@context":"http:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/wiki.edu.vn\/all2fr\/wiki1\/bitfeld-wikipedia\/#BlogPosting","mainEntityOfPage":"https:\/\/wiki.edu.vn\/all2fr\/wiki1\/bitfeld-wikipedia\/","headline":"Bitfeld – Wikipedia","name":"Bitfeld – Wikipedia","description":"before-content-x4 Dans les technologies de l’information et la programmation Bitfeld Un entier sans signe dans lequel des bits ou des","datePublished":"2020-11-08","dateModified":"2020-11-08","author":{"@type":"Person","@id":"https:\/\/wiki.edu.vn\/all2fr\/wiki1\/author\/lordneo\/#Person","name":"lordneo","url":"https:\/\/wiki.edu.vn\/all2fr\/wiki1\/author\/lordneo\/","image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","height":96,"width":96}},"publisher":{"@type":"Organization","name":"Enzyklop\u00e4die","logo":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":600,"height":60}},"image":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":100,"height":100},"url":"https:\/\/wiki.edu.vn\/all2fr\/wiki1\/bitfeld-wikipedia\/","wordCount":2289,"articleBody":" (adsbygoogle = window.adsbygoogle || []).push({});before-content-x4Dans les technologies de l’information et la programmation Bitfeld Un entier sans signe dans lequel des bits ou des groupes de bits individuels sont regroup\u00e9s. Il repr\u00e9sente un type de type de donn\u00e9es composite au niveau des bits. En revanche, le type de donn\u00e9es primitif est dans lequel la valeur est form\u00e9e \u00e0 partir de tous les endroits. (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4Une utilisation r\u00e9pandue est celle dans laquelle chaque position binaire individuelle repr\u00e9sente un drapeau. Chaque point correspond \u00e0 une variable bool\u00e9enne. Cependant, plusieurs endroits peuvent \u00e9galement former une valeur, par ex. B. Deux amuse-gueules peuvent \u00e9galement \u00eatre r\u00e9sum\u00e9s dans un octet ou, comme avec les adresses IPv4, un mot de donn\u00e9es 32 bits dans (par exemple) un r\u00e9seau 24 bits et une partie h\u00f4te 8 bits. Il y a aussi la fa\u00e7on de parler “bitvector” sans toujours exprimer que le bit individuel peut \u00eatre trait\u00e9 par indexation. L’indexation des bits est trait\u00e9e dans la cha\u00eene bit de l’article. Les champs de bits sont g\u00e9n\u00e9ralement utilis\u00e9s dans la programmation mat\u00e9rielle ou syst\u00e8me. Ici, ils servent souvent \u00e0 d\u00e9finir certains comportements dans des dispositifs p\u00e9riph\u00e9riques. En effet, par exemple, l’activation d’une certaine fonctionnalit\u00e9 dans le mat\u00e9riel peut facilement \u00eatre signal\u00e9e en d\u00e9finissant une seule ligne de donn\u00e9es, un peu. Afin de communiquer plus facilement avec le logiciel ou d’autres appareils ou parce que, par exemple, les ports d’E \/ S ne sont disponibles qu’en un montant limit\u00e9, plusieurs de ces lignes sont ensuite r\u00e9sum\u00e9es en un mot de donn\u00e9es, le bitfeld. (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4De plus, des champs de bits sont \u00e9galement utilis\u00e9s pour la programmation des applications, o\u00f9 une vari\u00e9t\u00e9 de param\u00e8tres doivent \u00eatre remises. Ici, la lisibilit\u00e9 du code source peut \u00eatre am\u00e9lior\u00e9e si au lieu d’une longue liste de param\u00e8tres, dans laquelle chaque param\u00e8tre doit \u00eatre explicitement sp\u00e9cifi\u00e9, seul un champ Bit est assembl\u00e9 avec les drapeaux souhait\u00e9s. L’utilisation de champs de bits pour \u00e9conomiser de l’espace de stockage n’a pas autant de sens dans la programmation d’applications de nos jours, sauf dans de rares cas, tels que. B. pour les syst\u00e8mes int\u00e9gr\u00e9s lorsque la m\u00e9moire est une ressource extr\u00eamement serr\u00e9e, ou si les bits sont n\u00e9cessaires en nombre extraordinairement \u00e9lev\u00e9 comme pour le tamis des eratoshenes. [d’abord] Un octet ou un mot entier est g\u00e9n\u00e9ralement utilis\u00e9 pour les variables Boolesche. L’acc\u00e8s aux bits individuels d’un mot de donn\u00e9es est souvent plus inefficace que l’ensemble du mot de donn\u00e9es. Table of ContentsExemple dans OpenGL [ Modifier | Modifier le texte source ]] Utiliser en C et C # [ Modifier | Modifier le texte source ]] Bit leet [ Modifier | Modifier le texte source ]] Bit [ Modifier | Modifier le texte source ]] Interrupteur [ Modifier | Modifier le texte source ]] R\u00e9sumer les massass [ Modifier | Modifier le texte source ]] Exemple dans OpenGL [ Modifier | Modifier le texte source ]] Dans OpenGL, par exemple, la fonction est glclear d\u00e9fini qui supprime un ou plusieurs des quatre tampons graphiques. Les d\u00e9veloppeurs auraient maintenant pu d\u00e9finir quatre param\u00e8tres, qui sp\u00e9cifient chacun si le tampon graphique doit \u00eatre supprim\u00e9 ou non. L’appel de fonction ressemblerait \u00e0 la suivante: (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4 annuler glclear ( d'abord , d'abord , 0 , 0 )); Cependant, cela n’est ni efficace car quatre variables doivent \u00eatre remises, ni tr\u00e8s lisibles. Par cons\u00e9quent dans le GL.H A So-appel\u00e9 pour chaque tampon drapeau nomm\u00e9 Sont d\u00e9finis: #define gl_depth_buffer_bit 0x00000100 #define gl_accum_buffer_bit 0x00000200 #define GL_STROCH_BUFFER_BIT 0x00000400 #define gl_color_buffer_bit 0x00004000 Et un seul param\u00e8tre a \u00e9t\u00e9 d\u00e9fini pour la fonction: annuler glclear ( Glbitfield masque )); \/\/ Glbitfield est un typedef sur int L’appel de fonction ressemble maintenant \u00e0 ceci: glclear ( Gl_color_buffer_bit | Gl_depth_buffer_bit )); Utiliser en C et C # [ Modifier | Modifier le texte source ]] Dans le langage de programmation C, il est possible de d\u00e9finir Bitfelder dans les structures de donn\u00e9es et donc de sauver de plus petits types de donn\u00e9es compacts. Tant que les donn\u00e9es sont trait\u00e9es exclusivement via les noms de champ, le code source ne devient pas d\u00e9pendant du compilateur ou du processeur. Cela ne s’applique pas \u00e0 l’acc\u00e8s \u00e0 des parties de registres ou aux donn\u00e9es d\u00e9s\u00e9rialis\u00e9es. structure structure - taper - nom { taper [ nom1 ]] : longueur ; taper [ nom2 ]] : longueur ; \/\/ ... taper [ des noms ]] : longueur ; } variable - liste ; Dans le langage de programmation C #, il utilise le Attribut de drapeaux possible de d\u00e9clarer une \u00e9num\u00e9ration en tant que bitfeld. [2] Le .NET Framework fournit \u00e9galement la structure de donn\u00e9es Bitarray Disponible, qui stocke les bits individuels compacts et permet des op\u00e9rations bool\u00e9ennes. Acc\u00e8s \u00e0 un seul bit, \u00e0 la fois dans un test et \u00e0 r\u00e9gler, le mat\u00e9riel prend en charge ainsi que l’acc\u00e8s \u00e0 un octet ou \u00e0 un mot – une seule commande est suffisante pour de nombreuses machines. Cependant, le support des compilateurs est souvent similaire \u00e0 l’acc\u00e8s \u00e0 plusieurs bits, dans lequel le groupe de bits doit \u00eatre “pr\u00e9par\u00e9” avant de comparer ou de manipuler par un peu de masque du mot de m\u00e9moire. Quand M\u00e2t de bitch sont r\u00e9f\u00e9r\u00e9s aux champs de bits, dont les points ne repr\u00e9sentent aucune information, mais qui sont utilis\u00e9s pour lire ou manipuler les champs de bits. Un exemple de bidmaske est l’\u00e9cart de masque de r\u00e9seau dans la technologie du r\u00e9seau. Il d\u00e9termine laquelle des principaux bits d’une adresse IP est le pr\u00e9fixe du r\u00e9seau, i. H. qui adresse la zone comme interne et qui est consid\u00e9r\u00e9e comme un r\u00e9seau externe lors du routage. Bit leet [ Modifier | Modifier le texte source ]] Afin de lire un ou plusieurs bits d’un Bitfeld, il est li\u00e9 \u00e0 un peu de masque sur l’amer et l’op\u00e9ration. Dans le massask, il y a un “0” \u00e0 tous les points qui ne doit pas \u00eatre pris en consid\u00e9ration. Ces zones sont cach\u00e9es par le lien et, c’est-\u00e0-dire H. r\u00e9gl\u00e9 sur z\u00e9ro. Les endroits qui doivent \u00eatre visualis\u00e9s ou lus contiennent un “1” dans le masking et sont donc repris du bitfeld. Exemple 1 bits: 0100 d'abord 011 BitfeldEt 0000 d'abord 000 Bittaske------------------------------------= 0000 d'abord 000 r\u00e9sultats 0 bits: 01101 0 11 BitfeldEt 00000 d'abord 00 Bitmaske------------------------------------= 00000 0 00 R\u00e9sultat Le r\u00e9sultat est z\u00e9ro si les positions du Bitmask dans le Bitfeld sont \u00e9galement nulles. Si au moins l’un d’entre eux est d\u00e9fini sur “1”, les bits correspondants sont \u00e9galement “1”, d. H. Le r\u00e9sultat est beaucoup nul. Puisque les valeurs de z\u00e9ro dans la plupart des langages de programmation \u00e0 un logique FAUX et les valeurs sont beaucoup nul \u00e0 un logique vrai Pour \u00eatre \u00e9valu\u00e9, le r\u00e9sultat peut d\u00e9sormais \u00eatre facilement v\u00e9rifi\u00e9 avec une branche conditionnelle si l’un des bits du bidmaske a \u00e9t\u00e9 r\u00e9gl\u00e9 sur le terrain: si ( R\u00e9sultat ) \/\/ ensembles de bits autre \/\/ Bit pas r\u00e9gl\u00e9 Bit [ Modifier | Modifier le texte source ]] Si les bits dans le Bitfeld doivent prendre une certaine valeur, les endroits correspondants dans le bitfeld doivent \u00eatre d\u00e9finis sur “1” et tout le monde sur “0”. Afin de mettre les endroits sur “1”, le Bitfeld doit \u00eatre ajout\u00e9 au bitmask ou li\u00e9 ou li\u00e9 via un amer. \u00c0 l’inverse, vous obtenez un “0” dans les endroits souhait\u00e9s si vous liez le champ et que vous masquez sur un NAND, c’est-\u00e0-dire d’abord inversez le masque, puis liez-le au champ. Exemple D\u00e9finissez des bits sur “1”: 01101 0 11 BitfeldOu 00000 d'abord 00 Bitmaske------------------------------------= 01001 d'abord 11 R\u00e9sultat D\u00e9finir les bits sur “0”: Pas 0000 d'abord 000 Bittaske------------------------------------= 1111 0 111 bitmask invers\u00e9Et 0100 d'abord 011 Bitfeld-------------= 0100 0 011 R\u00e9sultat Interrupteur [ Modifier | Modifier le texte source ]] Si les bits individuels devraient changer ( Anglais pour basculer ) ou sont invers\u00e9s, les endroits correspondants dans le massask Bitmask sont plac\u00e9s sur “1” et tout le monde sur “0” et Bitfeld et Bitmaske li\u00e9s via un exclusif ou. 01101 01 1 informationXOR 00000 11 0 Bitmaske------------------------------------= 01001 dix 1 r\u00e9sultat R\u00e9sumer les massass [ Modifier | Modifier le texte source ]] Les masques de bits peuvent \u00eatre r\u00e9sum\u00e9s, par ex. B. Pour v\u00e9rifier ou r\u00e9gler plusieurs bits \u00e0 la fois dans une op\u00e9ration. Pour ce faire, additionnez uniquement les masques de bits individuels ou liez-les via un amer ou. 0000000 d'abord Bitchmaske1Ou 000000 d'abord 0 bitsaze2------------------------------------ 000000 11 bitmask r\u00e9sum\u00e9 \u2191 L’utilisation de champs de bits de toute expansion et avec une variable d’index est trait\u00e9e plus en d\u00e9tail dans la cha\u00eene de bit d’article. \u2191 http:\/\/msdn.microsoft.com\/de-de\/library\/system.flagsattribute.aspx (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4"},{"@context":"http:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/wiki.edu.vn\/all2fr\/wiki1\/#breadcrumbitem","name":"Enzyklop\u00e4die"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/wiki.edu.vn\/all2fr\/wiki1\/bitfeld-wikipedia\/#breadcrumbitem","name":"Bitfeld – Wikipedia"}}]}]