Uzun verilerin carpilmasi

Başlatan bunalmis, 07 Ocak 2007, 23:15:16

z

Elimizde n bitlik  isaretli sayilari carpabilen komut yada program parcacigi  (carpici) olsun.

2n uzunluktaki isaretli sayilari elimizdeki carpici ile nasil carpariz.

Sayilarin mutlak degerini alip carpip sonra sayilarin isaretine gore sonucu modifiye etmek disinda yontem bakiniyorum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mcan


carpma
(int xyz, int abc)
    
{ int i,sonuc,sonuc2,elde,isaret;
       
       
if ( ((xyz) & (0b10000.....)) )
          
{
            
if( ((abc) & (0b10000.....)) )
               
{isaret=0;}
            
else
                
isaret=1;
           &
#125;
       
else 
          &
#123;
            
if( ((abc) & (0b10000.....)) )
               
{isaret=1;}
            
else
                
isaret=0;
           &
#125;

        
xyz=xyz 0b011111111......;
        
abc=abc 0b011111111......;

       for&
#40;i=0;i<xyz;i++&#41;
           
&#123;
             
sonuc+=abc;

             if&
#40;sonuc<sonuc2&#41;
                
&#123;
                  
elde++;                
                 &
#125;
             
sonuc2=sonuc;
             
            &
#125;
       
       
return sonuc,isaret,elde;
     &
#125;


aklıma ilk gelen bu oldu toplama yaparak sonuca ulaşmak.değişkenlerin işaret bitlerini ayırıp 1. değişken kadar 2. değişkeni toplamak ve toplarken artanı ayrı bir yerde tutmak.sonucda işareti eldeyi ve sonucu döndürmek.2n lik bir alana bunları sırayla yerleştirmek kalıyor.soruyu
ama bu sizin istemediğiniz yönteme örnek oldu sanırım :)

Prof.EleCTroN

n bit sayı varsa sonuncu biti işaret biti diğer bitleri sayıya değer veren işaretsiz sayı gibi düşünelim.
Son bitleri özel veya işlemine tutar geriye kalan bitleri işaretsiz sayıymış gibi çarparız.

z

Sayilari 2'complemet  yontemiyle gostermek cok daha yaygindir. Bu nedenle onerdiginiz carpma islemi ancak sign magnitude gosterimde ise yarar.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Yasal Uyarı: Picproje.org sitemizde 5651 sayılı kanunun 8. maddesine ve T.C.Knın 125. maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur. Picproje.org hakkında yapılacak tüm hukuksal şikayetleri İletişim sayfamızdan bize bildirdikten en geç 3 (üç) iş günü içerisinde ilgili kanunlar ve yönetmelikler çerçevesinde tarafımızca incelenerek gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.