Accueil Finances personnelles Exprimer des nombres binaires en C ++ - des variables factices

Exprimer des nombres binaires en C ++ - des variables factices

Table des matières:

Vidéo: Comprendre le système binaire 2024

Vidéo: Comprendre le système binaire 2024
Anonim

Les variables C ++ sont stockées en interne en tant que nombres dits binaires. Les nombres binaires sont stockés sous la forme d'une séquence de valeurs 1 et 0 appelées bits. La plupart du temps, vous n'avez pas vraiment besoin de savoir quels bits particuliers vous utilisez pour représenter les nombres. Parfois, cependant, il est pratique et pratique de bricoler des nombres au niveau des bits - donc C ++ fournit un ensemble d'opérateurs à cette fin.

Les opérateurs logiques dits bitwise fonctionnent sur leurs arguments au niveau du bit. Pour comprendre leur fonctionnement, examinez d'abord comment les ordinateurs stockent les variables.

Le système de nombres décimaux

Les numéros que vous avez connus depuis le moment où vous pouviez compter sur vos doigts sont connus sous le nom nombres décimaux parce qu'ils sont basés sur le nombre 10. En général, le programmeur exprime des variables C ++ comme nombres décimaux. Ainsi, vous pouvez spécifier la valeur de var comme (disons) 123, mais considérez les implications.

Un nombre tel que 123 fait référence à 1 * 100 + 2 * 10 + 3 * 1. Tous ces nombres de base - 100, 10 et 1 - sont des puissances de 10.

123 = 1 * 100 + 2 * 10 + 3 * 1

Exprimé d'une manière légèrement différente (mais équivalente), 123 ressemble à ceci:

123 = 1 * 10 < 2 + 2 * 10 1 + 3 * 10 0 Rappelez-vous que

tout nombre à la puissance zéro est 1 Autres systèmes de numération

Bon, d'accord, utiliser 10 comme base (ou

base ) de notre système de comptage provient probablement de ces 10 doigts humains, les outils de comptage d'origine. Une base alternative pour un système de comptage aurait tout aussi bien pu être 20.

Si notre système de numérotation avait été inventé par des chiens, il pourrait bien être basé sur 8 (un chiffre de chaque patte est hors de vue sur la partie arrière de la jambe). Mathématiquement, un tel système

octal aurait aussi bien fonctionné: 123

10 = 1 * 8 2 + 7 * 8 1 < + 3 * 8 0 = 173 8 Les petits 10 et 8 se réfèrent ici au système de numérotation, 10 pour la décimale (base 10) et 8 pour l'octal (base 8). Un système de comptage peut utiliser n'importe quelle base positive. Le système de numération binaire

Les ordinateurs ont essentiellement deux doigts. Les ordinateurs préfèrent compter en utilisant la base 2. Le nombre 123

10

serait exprimé de cette façon: 123 10

= 0 * 2 7 + 1 * 2 < 6 + 1 * 2 5 + 1 * 2 4 + 1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 1 * 2 0 123 10 = 0 * 128 + 1 * 64 + 1 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 1 * 1 = 01111011 2 La convention informatique exprime des nombres binaires en utilisant 4, 8, 16, 32 ou même 64 chiffres binaires, même si les premiers chiffres sont 0.C'est aussi à cause de la façon dont les ordinateurs sont construits en interne. Comme le terme chiffre

désigne un multiple de 10, un chiffre binaire

est appelé un bit (abréviation de chiffre binaire >). Un octet est composé de 8 bits. (Appeler un chiffre binaire a octet-it ne semblait pas être une bonne idée.) La mémoire est généralement mesurée en octets (comme les rouleaux sont mesurés en unités de douzaines de boulanger). Avec une base aussi petite, vous devez utiliser un nombre de bits grand pour exprimer des nombres. Les êtres humains ne veulent pas avoir à utiliser une expression telle que 011110112 pour exprimer une valeur aussi banale que 123 10 . Les programmeurs préfèrent exprimer des nombres en utilisant un nombre pair de bits.

Le système octal - basé sur 3 bits - était le système binaire par défaut dans les débuts de C. On en voit un vestige même aujourd'hui - une constante qui commence par un 0 est supposée être octale en C ++. Ainsi, la ligne: cout << "0173 =" << 0173 << endl; produit la sortie suivante: 0173 = 123 Cependant, l'octal a été presque entièrement remplacé par le système

hexadécimal

, qui est basé sur des chiffres de 4 bits.

hexadécimal utilise les mêmes chiffres pour les chiffres de 0 à 9. Pour les chiffres entre 9 et 16, hexadécimal utilise les six premières lettres de l'alphabet: A pour 10, B pour 11, et ainsi de suite. Ainsi, 123

10

devient 7B 16 , comme ceci:

123 = 7 * 16 1 + B (ie 11) * 16 0 = 7B

16 Les programmeurs préfèrent exprimer des nombres hexadécimaux par multiples de 4 chiffres hexadécimaux, même lorsque le premier chiffre est 0. Enfin, qui veut exprimer un nombre hexadécimal tel que 7B 16 en utilisant un indice? Les terminaux ne prennent même pas en charge

les indices. Même sur un traitement de texte, c'est un glisser pour changer les polices de et vers le mode indice juste pour taper deux chiffres moche.

Par conséquent, les programmeurs (pas d'imbéciles, ils) utilisent la convention de commencer un nombre hexadécimal avec un 0x. Ainsi, 7B devient 0x7B. En utilisant cette convention, le nombre hexadécimal 0x7B est égal à 123 décimal tandis que 0x123 hexadécimal est égal à 291 décimal. L'extrait de code cout << "0x7B =" << 0x7B << endl; cout << "0x123 =" << 0x123 << endl; produit la sortie suivante: 0x7B = 123 0x123 = 291 Vous pouvez utiliser tous les opérateurs mathématiques sur les nombres hexadécimaux de la même manière que vous les appliqueriez aux nombres décimaux.

Si vous voulez vraiment, vous pouvez écrire des nombres binaires en C ++ '14 en utilisant le préfixe '0b'. Ainsi, 123 devient 0b01111011.

Exprimer des nombres binaires en C ++ - des variables factices

Le choix des éditeurs

Installation des périphériques réseau Juniper dans un rack - mannequins

Installation des périphériques réseau Juniper dans un rack - mannequins

Première étape de l'utilisation de tout périphérique réseau implique l'installation du matériel et des logiciels nécessaires à son fonctionnement. Les périphériques qui exécutent le système d'exploitation Junos varient en taille et en forme: très petits (commutateurs avec seulement quelques ports fonctionnant sur un courant de bureau normal) ou massifs (routeurs centraux multi-rack nécessitant plusieurs installateurs expérimentés ...

Comment gérer les fichiers journaux des périphériques Junos - dummies

Comment gérer les fichiers journaux des périphériques Junos - dummies

Si vous avez créé des fichiers journaux volumineux types d'événements à différents types de fichiers pour la facilité d'utilisation, vous devez gérer ces fichiers. Par défaut, le logiciel Junos OS limite la taille des fichiers journaux à 128 Ko. Lorsque les événements sont consignés, lorsque la taille totale des messages dépasse 128 Ko, quelque chose ...

Le choix des éditeurs

Adolescents gais: sortir avec la famille et les amis - les mannequins

Adolescents gais: sortir avec la famille et les amis - les mannequins

Qui révèlent l'homosexualité n'est jamais facile - pour jeunes ou vieux - mais le processus peut être particulièrement difficile pour les adolescents, qui sont dépendants de leur famille et n'ont pas encore établi leur propre vie privée avec leur propre lieu de vie et un emploi pour fournir un soutien financier. En fait, les taux de suicide ...

Comment Implanon fonctionne comme contrôle des naissances - les nuls

Comment Implanon fonctionne comme contrôle des naissances - les nuls

Certaines femmes choisissent Implanon comme contraceptif parce qu'elles veulent un contraceptif Cela ne nécessite pas de maintenance quotidienne, ni même saisonnière, ni de stérilisation. Implanon est une bonne option pour ces femmes parce que le dispositif est implanté sous la peau du bras d'une femme et est efficace pendant jusqu'à trois ans. Avec ...

Comment la grossesse change votre corps et votre vie sexuelle - les nuls

Comment la grossesse change votre corps et votre vie sexuelle - les nuls

Peuvent certainement faire partie d'une vie sexuelle saine les neuf mois de grossesse. Cela dit, ce ne sera probablement plus pareil qu'auparavant. Le corps d'une femme change au cours de cette période, tout comme ses besoins. La meilleure façon d'avoir des rapports sexuels durant la grossesse est de comprendre comment le corps d'une femme change pendant ...

Le choix des éditeurs

Utiliser une structure de répertoires peu profonds pour de meilleurs résultats de moteur de recherche - mannequins

Utiliser une structure de répertoires peu profonds pour de meilleurs résultats de moteur de recherche - mannequins

Structure de répertoire pour votre site Web, il est important de ne pas aller trop loin - cela garantit que les moteurs de recherche peuvent plus facilement votre site et que les utilisateurs trouveront votre site plus accessible. La structure du répertoire fait référence à l'emplacement physique de vos fichiers dans les dossiers du site. Par exemple, ...

Comprendre les avantages des requêtes à longue queue pour le SEO - Les nuls

Comprendre les avantages des requêtes à longue queue pour le SEO - Les nuls

Stratégie de référencement pour attirer beaucoup de monde sur votre site. Mais vous ne voulez pas seulement de la quantité - vous voulez du trafic de qualité. Vous voulez attirer des visiteurs qui viennent et restent un moment et trouvent ce qu'ils recherchent sur votre site. Ce dont vous avez vraiment besoin, ce sont les clients. Dans le monde de ...

Services de syndication traditionnels et flux RSS pour le contenu SEO - dummies

Services de syndication traditionnels et flux RSS pour le contenu SEO - dummies

Certains services de syndication vendent du contenu pour votre site web. Ce contenu est souvent envoyé à des sites Web utilisant des flux RSS. La syndication de contenu n'a rien de nouveau. Une grande partie de ce que vous lisez dans votre journal local n'est pas écrite par le personnel du journal; Cela vient d'un service de syndication. En général, ce matériel devrait être meilleur que le contenu syndiqué gratuit. Cependant, ...