にバイト素子アレイ128ビット線形フィードバックシフトレジスタを実装します。今私はこの長いレジスタを使って線形フィードバックシフトレジスタ(LFSR、フィボナッチの実装)を実装したいと思います。このLFSRのフィードバックxnorゲートに接続する多項式(またはタップ)は[128,29,27,2,1]です。どのように、次のように私は配列を有するC
Wikipediaから16ビットLFSR([16,14,13,11]のタップ)の実装は次のようにして取得できます。
unsigned short lfsr = 0xACE1u;
unsigned bit;
unsigned rand()
{
bit = ((lfsr >> 0)^(lfsr >> 2)^(lfsr >> 3)^(lfsr >> 5)) & 1;
return lfsr = (lfsr >> 1) | (bit << 15);
}
私の場合、ビットを1バイトの要素から別の要素にシフトする必要があります。 msbまたはA [0]はA 1のlsbにシフトする必要があります。このシフトを行うための最小限のコーディングは何ですか? ありがとうございました!
私は私の心の中で同じ構造です。私はおそらく単純にコードにはあまりないと思う... – drdot