JavaScript 비트 NOT 연산자(~)란?
비트 NOT 연산자(~)는 단항 연산자(unary operator)입니다. 하나의 피연산자만을 대상으로 하며, 해당 값의 모든 비트를 반전시키는 방식으로 동작합니다. 즉, 0인 비트는 1로, 1인 비트는 0으로 뒤집습니다.
수식으로 표현하면 다음과 같은 관계가 성립합니다.
~x = -(x + 1)예를 들어 숫자 3의 32비트 이진 표현은 ...00000011입니다. 모든 비트를 반전하면 ...11111100이 되고, 이는 2의 보수(two's complement) 표현에서 -4에 해당합니다.
예제
아래 코드를 실행하면 비트 NOT 연산자(~)가 실제로 어떻게 동작하는지 확인할 수 있습니다.
<html>
<body>
<script>
var b = 3; // 비트 표현: 00000011
document.write("(~b) => ");
result = (~b);
document.write(result); // 출력: -4
</script>
</body>
</html>
실행 결과
(~b) => -4정리
~는 단항 연산자로, 피연산자의 모든 비트를 반전시킵니다.- 결과는 항상
-(피연산자 + 1)과 같습니다. - 예:
~3→-4,~0→-1