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.
 

Yeni mesajlar

Forum istatistikleri

Konular
128,158
Mesajlar
915,525
Kullanıcılar
449,903
Son üye
furoz6868

Yeni konular

Geri
Üst