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

Autres catégories

Comprendre l'opérateur binaire NOT en C#

Tim Corey
4m 48s

Les opérations binaires en C# sont cruciales pour travailler au niveau des bits, optimiser les performances et comprendre comment les données sont stockées et manipulées. L'un de ces opérateurs importants est le NOT binaire (~), qui inverse tous les bits d'un nombre. Pour mieux comprendre cela, parcourons la vidéo de Tim Corey "Binaire en C# : L'opérateur binaire NOT en 10 minutes ou moins"

Introduction au NOT binaire

Tim Corey commence par expliquer que cette vidéo fait partie d'une série sur la compréhension du binaire en C#. Cette leçon est la septième de la série et porte sur l'opérateur binaire NOT (~). Il insiste sur le fait qu'il s'agira d'une leçon rapide, d'une durée inférieure à dix minutes, ce qui la rendra accessible et facile à comprendre.

Mise en place du code

Tim modifie le code de départ pour en améliorer la lisibilité. Au lieu de formater manuellement les valeurs binaires, il utilise deux points ( :) et un nom de variable à la fin pour plus de clarté. De cette manière, la représentation binaire de la valeur reste au début, ce qui facilite les comparaisons.

Il commence par déclarer une variable entière :

// Declare an integer variable and assign it the value of 1.
int value = 1;
// Declare an integer variable and assign it the value of 1.
int value = 1;

Il s'agit d'un scénario simple dans lequel l'opérateur NOT peut être appliqué.

Utilisation de l'opérateur binaire NOT

Tim présente l'opérateur ~ et démontre sa syntaxe :

// Apply the Binary NOT operator to flip all bits of the integer 'value'.
int notValue = ~value;
// Apply the Binary NOT operator to flip all bits of the integer 'value'.
int notValue = ~value;

Il souligne que sur la plupart des claviers, le tilde (~) se trouve dans le coin supérieur gauche, sous la touche Echap, à côté de la touche 1. Il précise qu'il s'agit d'un caractère différent du point d'exclamation ( !), souvent appelé "caractère Bang" Le tilde effectue une négation par bit, alors que le point d'exclamation est utilisé pour la négation logique.

Qu'est-ce que NOT Do?

Tim explique que l'opérateur NOT retourne tous les bits de la représentation binaire du nombre. Cela signifie :

  • 1 devient 0
  • 0 devient 1

En appliquant ~ à un nombre, on obtient son complément binaire. Il copie la sortie de la console pour observer le résultat.

Observer le résultat

Tim exécute le programme et souligne que le résultat semble beaucoup plus long que prévu. Par exemple, si la valeur = 1, la sortie n'est pas seulement 0 mais une séquence plus longue de 1 suivie des bits inversés. Il note que le résultat pour ~1 est :

// Observed output for ~1
11111111111111111111111111111110
// Observed output for ~1
11111111111111111111111111111110

Pourquoi ce projet ?

Compréhension de la représentation 32 bits

Tim explique que ce comportement se produit parce que C# utilise un entier signé de 32 bits (int). Étant donné que int en C# est en fait Int32, il se compose de 32 bits. Lorsque l'on effectue l'opération NOT, les 32 bits sont retournés, et pas seulement la représentation d'un seul bit, le 1.

Pour que cela soit plus clair, il ajuste le formatage de la sortie pour afficher explicitement les 32 bits :

// Convert the result of the NOT operation to a binary string representation,
// pad it to 32 bits, and print it.
Console.WriteLine(Convert.ToString(notValue, 2).PadLeft(32, '0'));
// Convert the result of the NOT operation to a binary string representation,
// pad it to 32 bits, and print it.
Console.WriteLine(Convert.ToString(notValue, 2).PadLeft(32, '0'));

La représentation binaire complète est affichée, ce qui permet de voir plus facilement comment tous les bits sont inversés.

Pourquoi NOT Matter?

À ce stade, Tim aborde la question suivante : Pourquoi l'opérateur NOT est-il utile ? Il laisse entendre que sa valeur devient plus évidente lorsque l'on travaille avec d'autres opérations bitwise, telles que :

  • Bit masking : conserver ou supprimer des bits de manière sélective.
  • Clearing bits : Remise à zéro de certains bits d'un nombre binaire.
  • Calculs efficaces : Effectuer des optimisations de bas niveau pour la mémoire et la vitesse.

Construire vers des opérations plus avancées

Tim insiste sur le fait qu'avant de passer à des opérations binaires plus complexes, il est important de comprendre des concepts fondamentaux tels que NOT. Il rassure les spectateurs en leur disant qu'une fois qu'ils auront compris les opérations binaires, ils verront à quel point ces opérations peuvent être puissantes et efficaces. La manipulation binaire permet aux développeurs de :

  • Optimiser l'utilisation de la mémoire.
  • Effectuer des opérations avec une puissance de traitement minimale.
  • Contrôler efficacement les bits individuels dans les nombres.

Regard vers l'avenir

Tim conclut en faisant allusion à la prochaine leçon, qui portera sur le nettoyage de bits spécifiques à l'aide de l'opérateur NOT et d'autres techniques bitwise. Il souligne que la maîtrise de ces bases est essentielle pour travailler efficacement avec le binaire en C#.

Conclusion

Tim Corey fournit une explication claire et pratique de l'opérateur binaire NOT en C#. En retournant tous les bits d'un nombre, ~ est un outil fondamental pour travailler au niveau des bits. La compréhension de cet opérateur jette les bases d'opérations binaires plus avancées telles que le masquage et le décalage de bits. Si vous vous lancez dans la programmation de bas niveau ou dans l'optimisation des performances, il s'agit d'un concept crucial à maîtriser.

Pour en savoir plus, consultez l'intégralité de la vidéo de Tim Corey et sa série sur le binaire en C# !

Hero Worlddot related to Comprendre l'opérateur binaire NOT en C#
Hero Affiliate related to Comprendre l'opérateur binaire NOT en C#

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