해결된 질문
작성
·
498
0
비트 연산 부분을 보다가 헷갈립니다.
제가 알기로는 !인데요. not 연산자가 ~ 이렇게 되어 있어서요.
시간은 1분 22초부터 써있습니다.
답변 2
1
모든 비트에 대해서 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