JavaScript でバイナリ ビットを実装する方法

PHPz
リリース: 2023-04-24 11:06:52
オリジナル
975 人が閲覧しました

JavaScript は、バイナリ演算をサポートし、ビット演算子を使用してバイナリ ビットを実装できるオブジェクト指向プログラミング言語です。この記事では、JavaScript でバイナリ ビットを実装する方法を紹介します。

1. バイナリ表現

バイナリは、0 と 1 のみを含む数学的な数え方システムで、0 から無限大までの数を表します。コンピューター サイエンスの分野では、コンピューター内のデータを表すためにバイナリが最も一般的に使用されます。たとえば、コンピュータ メモリ内の各バイトは 8 ビットの 2 進数です。

バイナリの表現方法は非常にシンプルで、各ビットを右から左の順に0と1で表現するだけです。たとえば、2 進数 1101 は 10 進数 13 を表します。この場合、右端の桁はビット 0、最初のビットは 1、2 番目のビットは 0、3 番目のビットは 1 です。

2. JavaScript でのビット単位の演算

JavaScript では、ビット単位の演算子を使用して 2 進数を演算できます。

1. 2 進左シフト演算子 (<<): 数値の 2 進数を指定された桁数だけ左にシフトします。

たとえば、次のコードは、数値 5 の 2 進数を 2 ビット左に移動します: 5 << 2、結果は 20 です。

2. 2 進右シフト演算子 (>>): 数値の 2 進数を指定された桁数だけ右にシフトします。

たとえば、次のコードは、数値 10 の 2 進数を 2 ビット右に移動します: 10 >> 2、結果は 2 です。

3. ゼロ拡張右シフト演算子 (>>>): 数値の 2 進数を指定された桁数だけ右にシフトし、左側を 0 で埋めます。

たとえば、次のコードは、数値 -2 の 2 進数を 2 ビット右に移動できます: -2 >>> 2、結果は 1073741822 です。

4. ビットごとの AND 演算子 (&): 2 つの 2 進数の対応するビットに対して論理 AND 演算を実行します。

たとえば、次のコードは、数値 10 と数値 5 に対してビット単位の AND 演算 (10 & 5) を実行でき、結果は 0 になります。

5. ビット単位の OR 演算子 (|): 2 つの 2 進数の対応するビットに対して論理 OR 演算を実行します。

たとえば、次のコードは、数値 10 と数値 5 に対してビット単位の OR 演算 (10 | 5) を実行でき、結果は 15 になります。

6. ビットごとの XOR 演算子 (^): 2 つの 2 進数の対応するビットに対して論理 XOR 演算を実行します。

たとえば、次のコードは、数値 10 と数値 5 に対してビットごとの XOR 演算 (10 ^ 5) を実行でき、結果は 15 になります。

3. JavaScript はバイナリ ビット演算を実装します

ビット演算子を使用すると、JavaScript でバイナリ ビット演算を実装できます。いくつかの実装方法を次に示します:

1. 指定されたビットの値を取得します

ビットごとの AND 演算子 (&) と右シフト演算子 (>>) を使用して、これを実現できます。指定した位置の値を取得します。

たとえば、次のコードは、数字 10 の 1 桁目から 3 桁目までの値を取得できます: (10 & (1 << 3 - 1)) >> 1、結果は1です。

2. 指定されたビットの値を特定の値に設定します

ビットごとの OR 演算子 (|) と左シフト演算子 (<<) を使用して、指定された値を実現できます。 bit 値を特定の値に設定します。

たとえば、次のコードは、数値 10 の 1 桁目から 3 桁目の値を特定の値 5 に設定できます: (10 & ~(1

3. 指定されたビットの値が 1 であるかどうかを判断します

ビットごとの AND 演算子 (&) と左シフト演算子 (<<) を使用して、値が 1 であるかどうかを判断できます。指定されたビットの値が 1 であるかどうか。

たとえば、次のコードは、数値 10 の最初の桁が 1 であるかどうかを判断できます: (10 & (1 <

4. まとめ

この記事ではJavaScriptにおけるバイナリビットの演算方法を紹介します。ビット演算子は、指定されたビットの値を取得、設定、決定するために使用できます。これは、ビット操作が必要な一部のシナリオで非常に役立ちます。

以上がJavaScript でバイナリ ビットを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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