[C언어] 논리 연산자(||, &&)와 비트 연산자(|, &)

Hyejin Kim·2023년 5월 6일
0

C언어

목록 보기
5/7

비트 연산자

|와 &는 비트 연산자입니다.

  • |
    "0001 | 0000 == 0001”이 성립합니다. 즉, 하나의 비트 비교시 하나라도 1이라면 1이 됩니다.
  • &
    |와는 다르게 두 비트 모두가 1인 경우만 1이 됩니다.
    즉, "0101 & 0100 == 0100”이 됩니다.

논리 연산자

|| 와 &&는 논리 연산자입니다.

  • ||(or)
    하나라도 true인 경우 true를 반환합니다. 즉, “true || false == true”가 됩니다.
  • &&(and)
    모두 true인 경우만 true를 반환합니다. 즉, “true && true == true, true && false == false”가 됩니다.


|와 &를 논리 연산자처럼 사용할 수 있을까요?

JAVA자바에서는 가능

여기를 참고하세요

C, C++에서는?

C나 C++에서는 Java처럼 사용할 수 없는데요. 그 이유는 아래와 같습니다.
if(int & int) 구문에서 int 값이 양수이면 참, 0이면 false라고 예상이 될텐데, if(2&4)의 경우 "100 & 010 == 000"이 되기 때문에 false가 되기 때문에 사용할 수 없습니다.
다만 if(bool & bool)이라면 사용은 가능합니다.

내용출처

마이너의 일상 블로그글

profile
Hello. I am a developer who is still developing.

0개의 댓글