Acil yardımınıza ihtiyacım var (Bilgi kaydırma hakkında)

Başlatan ziyaretci, 05 Mayıs 2012, 16:43:17

ziyaretci

Alıntı yapılan: arslan74 - 06 Mayıs 2012, 03:18:37
Klein arkadaşımızın koduna ufak bir düzeltme yaptım. Bu şeikilde cok esnek kod oldu doğrudan al kullan.

// Test


unsigned char dizi1 [11]={0b10000001,1,2,4,8,16,32,64,128,3,0b10000001};
unsigned char dizi2 [11]={0b10000001,1,2,4,8,16,32,64,128,3,0b10000001};

void fonk_kaydir(unsigned char * dizi, unsigned char size){
	unsigned char i;

    for( i=0 ; i<size ;i++)
	{
    	dizi [ i ] <<= 1;  // solda ki byte i sola kaydır.
    	if((i < size-1)&&(dizi [ i+1 ] & 0x80))// Sağdaki son bit set edilmiş ise soldaki ilk biti set et.
    		dizi [ i ] |= 1;
    }
}


void main(void)
{	
	fonk_kaydir(dizi1,11);

	while (1);
	
}


Selamlar

sorunu çözdüm.
rotate left ile .[göstereceğim bilginin mirror unu aldım ve rotate left  tam istediğim işlevi gösterdi Herşey miror da bitiyor)
Teşekkür ederim düzelttiğin kodu aldım kaydettim pc ye (ne olur ne olmaz daha test etmedim tabi)

Tekrar teşekkürler.