JavaScript의 비트 연산: 단일 파이프("|") 연산자의 신비 공개
단일 파이프("|") JavaScript의 연산자는 이진 표현 내에서 개별 비트를 조작하는 데 필수적인 비트 단위 연산을 수행합니다. 부울 값에 대해 연산을 수행하는 ||와 같은 논리 연산자와 달리 비트 연산자는 정수의 이진 표현에 대해 직접 작동합니다.
구체적으로 비트 또는 연산자 "|" 두 정수 피연산자의 논리적 분리를 계산합니다. 즉, 피연산자의 이진 표현의 각 비트 위치에 대해 하나 이상의 비트가 1이면 결과 비트는 1입니다.
a | b = (a_n OR b_n) FOR ALL n
그러나 비트 연산은 정수에서만 의미가 있으므로 JavaScript 작업을 수행하기 전에 정수가 아닌 값을 정수로 자릅니다. 제공된 예에서 설명한 것처럼 이로 인해 예상치 못한 결과가 발생할 수 있습니다.
console.log(0.5 | 0); // 0 console.log(-1 | 0); // -1 console.log(1 | 0); // 1
첫 번째 예에서는 0으로 비트 연산을 수행하기 전에 0.5가 0으로 잘립니다. 두 피연산자가 모두 0이므로 결과는
두 번째 예에서 -1(이진 표현: 111111111111111111111111111111111111111111111)은 0(이진 표현: 00000000000000000000000000000000)으로 비트 연산을 수행할 때 변경되지 않고 그대로 유지되어 -1이 됩니다.
마지막 예에서 1(이진수 표현: 00000000000000000000000000000001)은 다시 변경되지 않고 그대로 유지되어 1이 됩니다.
따라서 정수의 경우 x | 0은 단순히 x를 반환합니다.
위 내용은 비트별 OR 연산자 \'|\'는 JavaScript에서 어떻게 작동하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!