ホームページ > ウェブフロントエンド > jsチュートリアル > ビットごとの OR 演算子 \'|\' は JavaScript でどのように機能しますか?

ビットごとの OR 演算子 \'|\' は JavaScript でどのように機能しますか?

Susan Sarandon
リリース: 2024-10-29 03:58:29
オリジナル
778 人が閲覧しました

How Does the Bitwise OR Operator

JavaScript のビット演算: 単一パイプ ("|") の謎を解明する 演算子

単一パイプ ("|") JavaScript の演算子は、バイナリ表現内の個々のビットを操作するために不可欠なビットごとの OR 演算を実行します。ブール値に対して演算を実行する || などの論理演算子とは異なり、ビット単位の演算子は整数のバイナリ表現を直接処理します。

具体的には、ビット単位の or 演算子「|」です。 2 つの整数オペランドの論理和を計算します。これは、オペランドのバイナリ表現の各ビット位置について、少なくとも 1 つのビットが 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.5 は 0 でビット単位の OR 演算を実行する前に 0 に切り捨てられます。両方のオペランドが 0 であるため、結果は

2 番目の例では、0 (バイナリ表現: 00000000000000000000000000000000) とのビット単位の OR 演算を実行すると、-1 (バイナリ表現: 11111111111111111111111111111111) は変化せず、結果は -1 になります。

最後の例では、1 (バイナリ表現: 00000000000000000000000000000001) は再び変更されず、結果は 1 になります。

したがって、整数の場合、x | x | 0 は単に x を返します。

以上がビットごとの OR 演算子 \'|\' は JavaScript でどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート