バイナリコードは、バイナリ番号システムを使用して情報またはデータを表すシステムです。すべての値を表すために、通常は0と1の2つの数値のみを使用します。バイナリコード内の各数値は、少し呼ばれます(バイナリ番号の略語)。
バイナリコードでは、各数値は2のパワーを表します。右端の数値から始まると、2のパワーが右から左に増加します。たとえば、8ビットのバイナリコードでは、右端のビットは2 0 (1)を表し、次のビットは2 1 (2)などを表します。
10進数42をバイナリコードに変換しましょう。 42をバイナリに変換するには、それを連続的に2で割って、商がゼロになるまで残りを追跡します。
段階的なプロセスは次のとおりです。
ステップ1 :42÷2 = 21、残りは0です
ステップ2 :21÷2 = 10、残りは1です
ステップ3 :10÷2 = 5、残りは0です
ステップ4 :5÷2 = 2、残りは1です
ステップ5 :2÷2 = 1、残りは0です
ステップ6 :1÷2 = 0、残りは1です
バイナリ表現を取得するには、下から開始し(最後の残り)、下から残りを読み取ります。 42のバイナリコードは101010です。したがって、10進数42はバイナリコードで101010として表されます。
バイナリコードのコンテキストでは、設定ビットは1に設定されたバイナリ番号(ビット)を参照してください。一方、クリアビットは0に設定されたバイナリ数(ビット)を指します。
たとえば、バイナリコード101010には、3つのセット(1の対応する位置)と3つのクリアビット(対応する位置0)があります。
これは、ループトラバーサル法を使用してセットビットの数を計算するPHPコードの例です。
<?php // Function to get no of set bits in binary representation of positive integer n function countSetBits($n) { $count = 0; while ($n) { $count += $n & 1; $n > > = 1; } $ countを戻るします。 } //ドライバーコード $ number = 12; エコー「$ numberのセットビット数:」。 countsetbits($ number); ?>
12:2のセットビット数
再帰的な方法を使用して、セットビットの数を計算するPHPコードの例を次に示します。
<?php // PHP implementation of recursive approach to find the number of set bits function countSetBits($n) { // base case if ($n == 0) return 0; else // if last bit set, add 1 else add 0 return ($n & 1) + countSetBits($n > > 1); } //ドライバーコード $ n = 123; エコー「$ nのセットビット数は二流のとおりです。」。 countsetbits($ n); ?>
123のセットビット数は二流のとおりです
要約すると、再帰的な方法を使用して、すべてのビットをループして、整数のセットビット(1)の数を計算できます。ループ方式には、時間ループを使用して整数の各ビットを反復することが含まれます。カウンター変数を初期化し、数値が0になるまで反復します。ループ内で、ビットワイズと演算子を使用してビットワイズと操作を実行して、最小のビットを確認します。 1に等しい場合は、カウンターを増やします。次に、数値を1桁右に移動します。このプロセスは、すべてのビットがチェックされ、最終カウントが返されるまで続きます。
再帰的な方法の場合、整数を入力としてとる再帰関数を定義できます。関数内では、オペレーターとビットワイズ、1を使用して最小のビットを確認します。 1に等しい場合、カウンターを増やします。次に、数値を1ビット右にシフトし、更新された数値を使用して関数を再帰的に呼び出します。基本的なケースは、数値が0になると、カウンターの値を返すことです。この方法は、数が0になるまで設定ビットを再帰的に計算します。
どちらの方法でも、整数のセットビットを計算する方法を提供し、プログラマーはニーズと好みに基づいて異なる実装を選択できます。