>웹 프론트엔드 >JS 튜토리얼 >비트별 OR 연산자 \'|\'는 JavaScript에서 어떻게 작동하나요?

비트별 OR 연산자 \'|\'는 JavaScript에서 어떻게 작동하나요?

Susan Sarandon
Susan Sarandon원래의
2024-10-29 03:58:29781검색

How Does the Bitwise OR Operator

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.