강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

이이님의 프로필 이미지
이이

작성한 질문수

홍정모의 따라하며 배우는 C++

3.9 비트 플래그, 비트 마스크 사용법 Bit flags, Bit masks

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

작성

·

378

1

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

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

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

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

 

미리 답변 감사드립니다.

답변 1

2

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

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

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

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

이이님의 프로필 이미지
이이
질문자

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

이이님의 프로필 이미지
이이

작성한 질문수

질문하기