我有以下瓦爾:發送變量的函數和修改這個變量使用C
char seed[NBITS + 1], x0[NBITS + 1], y0[NBITS + 1], z0[NBITS + 1], dT0[NBITS + 1];
,我想改變它值這個功能:
void lfsr(char *bin, char *output)
{
//bits significativos para fazer o xor NBITS -> NBITS,126,101,99;
int bits[4];
int bit;
if(bin[0] == '0')
bits[0] = 0;
else if(bin[0] == '1')
bits[0] = 1;
if(bin[2] == '0')
bits[1] = 0;
else if(bin[2] == '1')
bits[1] = 1;
if(bin[21] == '0')
bits[2] = 0;
else if(bin[21] == '1')
bits[2] = 1;
if(bin[19] == '0')
bits[3] = 0;
else if(bin[19] == '1')
bits[3] = 1;
bit = bits[0]^bits[1]^bits[2]^bits[3]^1;
//reconstruir o vector de char depois do lfsr
for(int i = 127; i >= 1; i--)
{
bin[i] = bin[i - 1];
}
bin[0] = (char)(48 + bit);
output = bin;
}
的方式,我把值從X Y0爲,例如,調用LFSR功能是這樣的:
lfsr(x0, y0);
我在做什麼錯?
我必須做3斐波那契線性反饋移位寄存器從x0開始。
x0 = 10101010101010
y0 = lfsr(101010101010)
z0 = lfsr(y0)
dT0 = lfsr(z0);
結果很好,但是當我做上面的代碼時,如果我使用指針,x0的值將與dT0相同。 任何人都可以幫助我嗎?
謝謝。 Cumps!
這是乞求循環。 –
這是什麼意思,'output = bin;'?似乎完全沒有必要。 –
多數民衆贊成多數民衆贊成在問題..我不知道如何將bin值傳遞給變量y0 ..我試過使用指針,但隨後在該函數中輸入的所有變量將是相同的。 – arturataide