Passer au contenu du pied de page
Iron Academy Logo
Apprendre le C#
Apprendre le C#

Autres catégories

Valeurs binaires en C# : Stocker et afficher des valeurs binaires

Tim Corey
9m 43s

Les nombres binaires sont une partie essentielle de l'informatique, et comprendre comment travailler avec eux en C# est crucial pour gérer les opérations de bas niveau, les manipulations bitwise et le stockage efficace. Dans cet article, nous allons décomposer les concepts clés du stockage et de l'affichage des valeurs binaires en C#, en suivant la vidéo de Tim Corey, Binaire en C# : Stocker et afficher des valeurs binaires en 10 minutes ou moins.

Tim explique ce sujet de manière concise mais détaillée, ce qui le rend plus facile à comprendre. Parcourons pas à pas son explication et explorons le fonctionnement des valeurs binaires en C#.

Storing Binary Values in C

Tim commence par répondre à la question centrale : comment stocker un nombre binaire en C# ? Il explique que les nombres binaires, tels que 0b101, représentent des valeurs en base 2 et sont stockés dans des variables entières.

Pour stocker une valeur binaire, Tim utilise la syntaxe suivante :

int binaryValue = 0b101; // Represents the decimal number 5
int binaryValue = 0b101; // Represents the decimal number 5

Ici, 0b est un préfixe qui indique à C# d'interpréter les chiffres suivants comme un nombre binaire. Tim souligne que 0b101 équivaut à 5 en notation décimale.

Il note également que l'ajout de zéros au début (par exemple, 0b00000101) ne change pas la valeur. Le système l'interprète toujours comme 5, car ces zéros supplémentaires n'ont pas de signification numérique.

Printing Binary Values in C

Une fois que nous avons stocké une valeur binaire, l'étape suivante consiste à l'afficher. Tim souligne un comportement intéressant : lorsque vous imprimez une valeur stockée en binaire, C# la convertit en décimal par défaut.

Par exemple :

Console.WriteLine($"Binary value is: {binaryValue}");
// Outputs: Binary value is: 5
Console.WriteLine($"Binary value is: {binaryValue}");
// Outputs: Binary value is: 5

Bien que binaryValue ait été stocké sous la forme 0b101, la console affichera 5. Tim explique que C# fonctionne par défaut avec la base 10 lors de l'affichage des valeurs numériques.

Pour voir la valeur dans son format binaire, nous avons besoin d'une conversion.

Conversion des nombres entiers au format binaire

Tim présente un moyen simple de formater un nombre entier en tant que chaîne binaire :

string binaryString = Convert.ToString(binaryValue, 2);
Console.WriteLine($"Binary representation: {binaryString}");
// Outputs: Binary representation: 101
string binaryString = Convert.ToString(binaryValue, 2);
Console.WriteLine($"Binary representation: {binaryString}");
// Outputs: Binary representation: 101

Il explique que Convert.ToString(value, 2) convertit un entier en sa représentation binaire sous forme de chaîne. De cette façon, si vous stockez 0b101, la console affichera désormais correctement 101 au lieu de 5.

Enrichissement des valeurs binaires avec des zéros initiaux

Tim s'attaque ensuite à un problème qui se pose souvent lors de l'affichage de nombres binaires : leur formatage cohérent avec des zéros initiaux. Dans de nombreux cas, nous voulons qu'un nombre binaire apparaisse au format 8 bits (par exemple, 00000101 au lieu de simplement 101).

Il explique comment y parvenir en utilisant PadLeft :

string formattedBinary = binaryString.PadLeft(8, '0');
Console.WriteLine($"Formatted binary: {formattedBinary}");
// Outputs: Formatted binary: 00000101
string formattedBinary = binaryString.PadLeft(8, '0');
Console.WriteLine($"Formatted binary: {formattedBinary}");
// Outputs: Formatted binary: 00000101

Ici, PadLeft(8, '0') garantit que la chaîne binaire a toujours au moins 8 caractères, en remplissant les espaces manquants avec des zéros. Cela est particulièrement utile lorsqu'il s'agit de valeurs binaires de la taille d'un octet.

Tim précise que les guillemets simples autour de '0' sont nécessaires car PadLeft fonctionne avec des caractères, pas des chaînes.

Représentation binaire des nombres décimaux

Un autre point important que Tim souligne est qu'il n'est pas nécessaire de saisir des nombres au format binaire (notation 0b) pour obtenir leur représentation binaire.

Par exemple, vous pouvez prendre un nombre décimal standard et le convertir en binaire :

int decimalNumber = 12;
string binaryRepresentation = Convert.ToString(decimalNumber, 2);
Console.WriteLine($"Binary equivalent of {decimalNumber} is {binaryRepresentation}");
// Outputs: Binary equivalent of 12 is 1100
int decimalNumber = 12;
string binaryRepresentation = Convert.ToString(decimalNumber, 2);
Console.WriteLine($"Binary equivalent of {decimalNumber} is {binaryRepresentation}");
// Outputs: Binary equivalent of 12 is 1100

Ici, le nombre 12 est stocké en tant qu'entier décimal, mais une fois converti, il affiche correctement 1100 en binaire.

Tim souligne que cette technique est utile pour le débogage et pour comprendre comment les nombres sont stockés au niveau des bits.

Stockage des nombres binaires dans différents types de données

Tim aborde également le fait que les valeurs binaires peuvent être stockées dans différents types numériques. Bien que les entiers (int) soient les plus courants, C# permet de stocker des valeurs binaires dans d'autres types comme uint (entier non signé) ou long.

Par exemple :

uint unsignedBinary = 0b1010; // 10 in decimal
long largeBinary = 0b1100110011; // A longer binary number
uint unsignedBinary = 0b1010; // 10 in decimal
long largeBinary = 0b1100110011; // A longer binary number

La principale différence avec uint est qu'il ne supporte pas les valeurs négatives, tandis que long peut contenir des nombres beaucoup plus grands.

Tim note que la compréhension de ces distinctions aide à travailler avec des opérations de bas niveau telles que les décalages de bits et le masquage.

Conclusion

Tim conclut en résumant les principaux points à retenir :

  1. Les nombres binaires sont stockés dans des types entiers en utilisant le préfixe 0b.
  2. L'impression d'un nombre entier se fait par défaut en représentation décimale, ce qui nécessite une conversion explicite pour une sortie binaire.
  3. Convert.ToString(value, 2) aide à convertir les nombres au format binaire.
  4. PadLeft assure une représentation de longueur de bit cohérente.
  5. Vous pouvez stocker des nombres binaires dans différents types numériques, en fonction du cas d'utilisation.

Grâce à ces techniques, travailler avec des valeurs binaires en C# devient beaucoup plus facile et intuitif. Pour mieux comprendre le sujet, regardez sa vidéo complète.

Hero Worlddot related to Valeurs binaires en C# : Stocker et afficher des valeurs binaires
Hero Affiliate related to Valeurs binaires en C# : Stocker et afficher des valeurs binaires

Gagnez plus en partageant ce que vous aimez

Vous créez du contenu pour les développeurs travaillant avec .NET, C#, Java, Python ou Node.js ? Transformez votre expertise en revenu supplémentaire !

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi