에서 바이트 소자 어레이 128 비트 선형 피드백 시프트 레지스터를 구현한다. 이제이 긴 레지스터를 사용하여 선형 피드백 시프트 레지스터 (LFSR, 피보나치 구현)를 구현하려고합니다. 이 LFSR의 피드백 xnor 게이트에 연결되는 다항식 (또는 탭)은 [128, 29, 27, 2, 1]입니다.방법은 다음과 같이 I 배열이 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);
}
그러나 제 경우에는 한 비트 요소에서 다른 요소로 비트를 이동해야합니다. msb 또는 A [0]은 A 1의 lsb로 이동해야합니다. 이 전환을 수행하기위한 최소 코딩은 무엇입니까? 감사합니다.
나는 내 마음 속에 똑같은 구조를 가지고있다. 아마도 코드에는별로 도움이되지 않을 것이라고 생각합니다 ... – drdot