3
我有一個數組如下,如何實現與字節元件陣列128位線性反饋移位寄存器使用C
unsigned char A[16]
我使用此陣列來表示128位的硬件寄存器中。現在我想用這個長寄存器實現一個線性反饋移位寄存器(LFSR,Fibonacci實現)。連接到該LFSR的反饋xnor門的多項式(或抽頭)是[128,29,27,2,1]。
可以從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);
}
然而,在我的情況下,我需要將位從一個字節元素轉移到另一個字節元素,例如, msb或A [0]需要轉移到A 1的LSB。做這種轉變的最小編碼是什麼? 謝謝!
我在我腦海中的結構是一樣的。我認爲在代碼中可能沒有多少東西... – drdot