Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

rotate left() soru?

Başlatan ziyaretci, 29 Mart 2012, 00:29:06

ziyaretci


int bilgi[]={0b00001111,0b11001010,0b01010101,0b01111111};
rotate_left(bilgi,4);  //bilgi dizisinin  4 elemanı aralarında sola kaydırılacak



  arkadaşlar benim istediğim işleyiş ise şöyle olucak;
     1=>k<=3    yani ben istediğim aralıkta sola kaydırmak istiyorum bunu hangi komutlarla yaparım yardımcı olursanız memnun kalırım.

Tagli

Amacını anlayamadım. 1=>k<=3 ne demek? Biraz daha açıklar mısın?
Gökçe Tağlıoğlu

ziyaretci

Alıntı yapılan: Tagli - 29 Mart 2012, 01:23:02
Amacını anlayamadım. 1=>k<=3 ne demek? Biraz daha açıklar mısın?

kodda ilk 4 değeri aralarında kaydırma işlemi var.Benim istediğim ise 1 ile 3 arasındaki değeri kaydır mesela.

Tagli

CCS C bilmiyorum ama internetten bulduğum rehberden anladığım kadarıyla, bu fonksiyon, gösterilen adresten itibaren istenilen sayıda byte üzerinde 1 bit kaydırıyor. Doğru mu anlamışım?

Eğer küçük byte küçük adreste saklanıyorsa, ve sen 4 elemanlı bir dizinin küçük 3 byte'ı içinde kaydırma yapmak istiyorsan sanırım zaten rotate_left(bilgi,3) yazman yeterli. Yok ama eğer büyük 3 byte üzerinde işlem yapmak istiyorsan, sanırım rotate_left(bilgi+1,3) yazman gerekiyor.

Elbette tamamen yanlış düşünüyor da olabilirim ama denemeye değer...
Gökçe Tağlıoğlu

ziyaretci

Alıntı yapılan: Tagli - 29 Mart 2012, 01:49:14
CCS C bilmiyorum ama internetten bulduğum rehberden anladığım kadarıyla, bu fonksiyon, gösterilen adresten itibaren istenilen sayıda byte üzerinde 1 bit kaydırıyor. Doğru mu anlamışım?


Evet aynen öyle.

Alıntı yapılan: Tagli - 29 Mart 2012, 01:49:14


Eğer küçük byte küçük adreste saklanıyorsa, ve sen 4 elemanlı bir dizinin küçük 3 byte'ı içinde kaydırma yapmak istiyorsan sanırım zaten rotate_left(bilgi,3) yazman yeterli. Yok ama eğer büyük 3 byte üzerinde işlem yapmak istiyorsan, sanırım rotate_left(bilgi+1,3) yazman gerekiyor.

Elbette tamamen yanlış düşünüyor da olabilirim ama denemeye değer...

  bi' denerim inş. olur.