Maison  >  Article  >  développement back-end  >  Que signifie « || » en langage C ?

Que signifie « || » en langage C ?

王林
王林original
2020-07-11 11:57:4142068parcourir

En langage C, "||" représente l'opérateur logique (ou), et son opérande est de type booléen, c'est-à-dire qu'il n'y a que deux valeurs​​"0" (représentant faux) et "1" (représentant vrai). Le langage C stipule que dans les opérations logiques, toutes les valeurs non nulles sont traitées comme 1.

Que signifie « || » en langage C ?

En langage C, "||" représente l'opérateur logique (ou), et son opérande est booléen, c'est-à-dire seulement "0" (ce qui signifie faux ) et "1" (qui signifie vrai). Le langage C stipule que dans les opérations logiques, toutes les valeurs non nulles sont traitées comme 1.

(Tutoriel recommandé : Tutoriel du langage C)

L'opérateur similaire est "|", qui est un opérateur binaire (ou), et son opérande est une séquence de bits. La séquence de bits peut être de type caractère, de type entier, de type entier long ou court, etc. (généralement, le type entier non signé est sélectionné). Dans les opérations sur bits, les opérations logiques sont effectuées entre les bits correspondants. Par conséquent, logiquement parlant, le processus d'opération sur bits contient plusieurs processus d'opération logique.

Ci-dessous, nous utilisons un exemple pour comprendre la différence entre les deux.

#include <stdio.h>
int main (void)
{
    unsigned int x = 0x1101;
    unsigned int y = 0x1100;
    /*逻辑操作*/
    printf("sizeof(x || y): %d\n", sizeof(x || y));
    if(x||y)
    {
        printf("x || y : %d(True) \n", x||y);
    }
    else
    {
        printf("x || y : %d(False) \n", x||y);
    }
    /*位操作*/
    printf("sizeof(x | y): %d\n", sizeof(x | y));
    printf("x | y : %x \n", x|y);
    return 0;
}

Parce que ni la variable x ni la variable y ne sont 0, l'exécution de l'instruction if(x||y) renvoie 1. Lors de l'exécution de x|y (c'est-à-dire 1101|1100), les bits correspondants sont logiquement combinés en OU un par un, le résultat est donc 1101.

Le résultat de l'exécution du programme est :

sizeof(x || y): 4
x || y : 1(True)
sizeof(x | y): 4
x | y : 1101

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn