ondalıklı sayılarla bölmede zaman(işlem süresi) sıkıntısı

yadelim

Üye
Katılım
7 Şub 2013
Mesajlar
48
Puanları
1
örnek kod (c ile):


float bolme (float x , float y)
{
x /= y;
return x;
}


iyi günler.
yukarıda ki örnek kod gibi bir kodu proğramda kullanıyorum. (18f2431, 20 mhz kristal(5m hz işlem hızı)) 912 işlem zamanım olmasına rağmen yukarıdaki ondalıklı bölme yüzünden kod zamanım 1500 'ü geçiyor. kodu çıkardığımda sıkıntı yok 300 civarı komut zamanım oluyor. proğramda (16bit) karşılaştırma, toplama, sola sağa öteleme kullanıyorum bu kadar süre tutmazken neden bu bölme işlemi 1000 komut zamanının üzerinde gerçekleşiyor. 32 bit olduğu için mi alıyor. yaklaşık 600 komut zamanı ile bu ondalıklı bölme işlemini nasıl yaparım? zaman kısıtlaması olduğu için tabiki de assemply ile.
kısaca özetlersem; ondalıklı sayılarla bölme çarpma neden zaman alıyor. bu zaman proplemini nasıl çözebilirim. (virgülden sonraki 8 hane harici önemsiz)

şimdiden teşekkürler.
 

Forum istatistikleri

Konular
128,118
Mesajlar
915,146
Kullanıcılar
449,822
Son üye
hamidettin

Yeni konular

Çevrimiçi üyeler

Geri
Üst