>  기사  >  백엔드 개발  >  C 언어에서 "||"은(는) 무슨 뜻인가요?

C 언어에서 "||"은(는) 무슨 뜻인가요?

王林
王林원래의
2020-07-11 11:57:4142106검색

C 언어에서 "||"는 논리 연산자(or)를 나타내며, 피연산자는 부울 형식입니다. 즉, "0"(false를 나타냄)과 "1"( 사실을 나타냄). C 언어에서는 논리 연산에서 0이 아닌 값은 모두 1로 처리된다고 규정하고 있습니다.

C 언어에서

C 언어에서 "||"는 논리 연산자(또는)를 나타내며 피연산자는 부울입니다. 즉 "0"(거짓을 나타냄)과 "1"(참을 나타냄)만 있습니다. 수치. C 언어에서는 논리 연산에서 0이 아닌 값은 모두 1로 처리된다고 규정하고 있습니다.

(추천 튜토리얼: C 언어 튜토리얼)

비슷한 연산자는 "|"로 비트 연산자(or)이고 피연산자는 비트 시퀀스입니다. 비트 시퀀스는 문자 유형, 정수 유형, 긴 또는 짧은 정수 유형 등이 될 수 있습니다(보통 부호 없는 정수 유형이 선택됩니다). 비트 연산에서는 해당 비트 사이에서 논리 연산이 수행됩니다. 따라서 논리적으로 말하면 비트 연산 프로세스에는 여러 개의 논리 연산 프로세스가 포함됩니다.

아래에서는 둘 사이의 차이점을 이해하기 위해 예를 사용합니다.

#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;
}

변수 x와 변수 y가 모두 0이 아니기 때문에 if(x||y) 문을 실행하면 1이 반환됩니다. x|y(즉, 1101|1100)를 실행하면 해당 비트가 하나씩 논리적으로 OR되므로 결과는 1101이 됩니다.

프로그램 실행 결과:

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

위 내용은 C 언어에서 "||"은(는) 무슨 뜻인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.