C では、配列の分割とは、配列を複数の部分配列に分割することを意味します。ビットごとの OR 演算子は、C の 2 つのビットごとの OR インデックス間の比較と計算を処理します。この記事では、k 回の循環シフトを使用します。これは、最後のインデックス位置がゼロのインデックス位置、つまり k 回に従って最初の配列要素に移動されることを意味します。
配列内の循環シフトを理解するために例を見てみましょう。
指定された配列は 1、2、3、4、5、6、7 で、長さは 6 です。
次に、値 3 を k に割り当てます。これは、k 回の循環シフトを意味します。
循環シフトの操作手順は次のとおりです。
ステップ1 -index[6]をindex[1]に移動し、index[5]がindex[6]の位置を保存します。最初の循環シフトは 7,1,2,3,4,5,6 となるため、循環シフトは回転します。
ステップ 2 - 2 番目の循環シフト - 6,7,1,2,3,4,5
3 番目のステップ - 3 番目の循環シフト - 5、6、7、1、2、3、4 (最終結果)
###文法### リーリー
リーリー
演算子を使用して配列を 2 つの半分に分割します。ビットごとの OR '|' を使用すると、2 つの要素の各要素の値を取得できます。半分の値。
ビットごとの OR 演算を実行するときのシフト インデックスを表します。これにより、分割配列内の 2 つの要素が得られます。 'splitArray[i%2]'の対応に依存します。
###アルゴリズム###を使用してプログラムを開始します。
'Split_arr_sum_bitwise'と 'k' をパラメータとして受け取ります。この関数は、配列値と循環シフト後の更新された配列値を受け取ります。 関数
'Split_arr_sum_bitwise'という名前のベクトル変数を初期化します。この関数は配列の両方の半分を保存します。 次に、ビット単位の OR 演算子 '|' を使用して変数 sum に値 0 を格納します。この値は、後で
'splitArray'次に、元の配列を反復処理する最初の for ループを作成します。
次に、ビット演算子
‘|’次に main 関数を開始します。ここでは、配列値を
'array'を変数 ' に保存します。 k '、この変数は、指定された配列の回転シフトの数を定義します。 最後に、print ステートメントで、
'Split_arr_sum_bitwise'と 'array'これを渡して最終出力を取得します。 Example
の中国語訳は次のとおりです:以上が指定された配列を 2 つの半分に分割し、K 回循環シフトを実行した後、ビットごとの OR を使用して配列の合計を求めます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。