• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

22분 코드 질문 (&, && 관련)

23.07.24 13:11 작성 조회수 282

1

if ((items_flag & opt2) && !(items_flag & opt1))

에서 &&는 논리연산자이므로

(items_flag & opt2), !(items_flag & opt1)

두항 모두 0000 0000이 아니기만 하면 true로 동작하는건가요?

 

미리 답변 감사드립니다.

답변 1

답변을 작성해보세요.

2

Soobak님의 프로필

Soobak

2023.07.24

안녕하세요, 답변 도우미 Soobak 입니다.

네, 말씀하신 내용이 맞습니다.

C++ 언어에서는 0false 로, 0 이 아닌 값을 true 로 간주합니다.

따라서,(items_flag & opt2)!(items_flag & opt1) 의 결과가 모두 0이 아니어야 if() 조건문안의 전체 식이 참이 됩니다.

이이님의 프로필

이이

질문자

2023.07.24

친절한 답변 감사합니다 : ) ~