Différence entre & et && en C/C++

Quelle est la différence entre & et && ? – les deux sont des opérateurs utilisés pour évaluer les instructions conditionnelles. L’opérateur & est un opérateur aussi bien logique que binaire. L’opérateur && est purement un opérateur logique. La différence clé entre les deux; l’opérateur & évalue les deux côtés de l’expression alors que l’opérateur && évalue uniquement le côté gauche de l’expression pour obtenir le résultat final.
 
 

Table de comparaison
& &&
Opérateur C’est un opérateur binaire. C’est un opérateur logique.
Évaluation Il évalue les deux côtés gauche et droit de l’expression. Il évalue uniquement le côté gauche de l’expression.
Utilisation Utilisé pour vérifier une condition logique et pour masquer certains bits tels que les bits de parité. Utilisé uniquement pour vérifier une condition logique.
Différence entre la surcharge de fonctions et la redéfinition de fonctions en C ++Différence entre la surcharge de fonctions et la redéfinition de fonctions en C ++La surcharge et la redéfinition de fonctions sont des exemples de polymorphisme, mais elles sont complètement différentes. Avant de discuter de la différence entre les…Lire plus
L’opérateur d’adresse &

L’opérateur d’adresse & renvoie l’adresse d’une variable. Généralement, & est utilisé lorsque nous stockons des valeurs dans une variable et lorsqu’on affiche l’adresse de n’importe quelle variable.

Considérez l’extrait de code suivant

scanf("%d",&nbr);
printf("Adresse de nbr: %8Xn",&nbr);

Dans la première instruction, on stocke la valeur entré par l’utilisateur dans &nbr qui désigne l’adresse de la variable nbr.

Dans la deuxième instruction, l’adresse du nbr sera affichée.
 

L’opérateur bit à bit &

Opérateur bit à bit (&) est un opérateur binaire car il opère sur deux opérandes et est utilisé pour l’opération ET bit à bit.

Considérez l’extrait de code suivant

#include<stdio.h>

int main() {
    int x=7;
    if(x&1)
        printf("UN");
    if(x&2)
        printf("DEUX");
}

Dans le code ci-dessus, la valeur de x est 7 (00000111), donc les deux premiers bits sont à 1, les deux conditions (x&1) et (x&2) seront vraies et les deux messages « UN DEUX » seront affichés.
 
 

L’opérateur ET logique (&&)

Opérateur ET logique (&&) est un opérateur binaire qui permet de vérifier plusieurs conditions à la fois et si toutes les conditions sont vraies, le résultat sera vrai.

Considérez l’extrait de code suivant

#include<stdio.h>

int main() {
    int a=10;
    int b=20;
 
    if(a==10 && b==20)
        printf("TRUE");
    else
        printf("FALSE");
}

Dans cette instruction, les deux conditions a == 10 et b == 20 sont vraies, donc « TRUE » sera affiché.
Différence entre exit 0 et exit 1Différence entre exit 0 et exit 1Quelle est la différence entre exit(0) et exit(1) ? – exit (0) et exit (1) les deux méthodes sont utilisées pour terminer le programme en…Lire plus

Conclusion

L’opérateur & et &&, les deux sont utilisés pour évaluer une condition booléenne tandis que l’opérateur & est également utilisé pour une opération au niveau des bits.
 
 

Une réflexion sur “Différence entre & et && en C/C++

  • décembre 31, 2019 à 4:15
    Permalien

    il y a marqué que && n’évalue que le coté gauche, c’est faux, il n’évalue que le coté gauche si celui ci est faux

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *