강의

멘토링

로드맵

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

진재환님의 프로필 이미지
진재환

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

[RENEWAL] 논리 연산

비트 연산에서 not 연산자는 ! 아닌가요?

해결된 질문

작성

·

498

0

비트 연산 부분을 보다가 헷갈립니다.

제가 알기로는 !인데요. not 연산자가 ~ 이렇게 되어 있어서요.

시간은 1분 22초부터 써있습니다.

답변 2

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

모든 비트에 대해서 0을 1로, 1을 0으로 반전시키는
bitwise not은 ~이 맞습니다.

!의 경우 logical not인데
0인 값을 1로, 0이 아닌 값을 0으로 만드는 특징이 있습니다.
즉 int val = 123인 상태에서 !val은  0이 되기 때문에
bitwise not이랑은 개념이 다르고 (~val은 -124),
어떤 값이 0인지 아닌지 체크하는데 유용하며
보통 bool 값에 대해 == false 대신 사용하게 됩니다.
C++의 경우 문법적으로 int에도 !을 사용 가능하지만
C#에서는 bool이랑만 사용합니다 (operator!로 되어 있습니다)

0

진재환님의 프로필 이미지
진재환
질문자

알려주셔서 감사합니다

진재환님의 프로필 이미지
진재환

작성한 질문수

질문하기