Proton Bölme hatası !

Başlatan Ankaralı, 14 Eylül 2009, 02:17:49

Ankaralı

Dışarıdan girilen sayıları birbirlerine böldürtmem gerekiyor.Bu sayılar float sayılardır.Yanlız kullandığım işlemcim bu 2 float sayıyı bölerken 0,00xx lik hatalarla bölüyor.Tabi hatalarda nümerik olarak "0" a yaklaşmıyor.
Bu nasıl bir sorundur anlayamadım ? Simülasyon ve prog.;

x sayısı pc hesap makinesi ile ; 105096,0751... picin hesapladığı = 105096,070312
q sayısıda x sayısı yanlış hesaplandığı için 0,0048 lik bir fark var.
Yani binde 5 lik bir hata ! Nasıl giderilir...?


Dim X As Float
Dim Y As Float
Dim Z As Float
Dim Q As Float
Cls

BASLA:

Y=14534577
Z=138.298
DelayMS 2

X=Y/Z
DelayMS 2

Q=X+Z
DelayMS 200
Print At 1,1, "X:", DEC6 X
Print At 2,1, "Q:", DEC6 Q


@ NEXYS2

Maxim

proramın başına yazarmısın ?
DECLARE FLOAT_DISPLAY_TYPE = LARGE or STANDARD

sadece ekrana değil yapılan işlemede etkisi olması lazım .

Ankaralı

Gene aynı hata payı...Hatta hata binde bir daha arttı.
@ NEXYS2

eLectronbLue

Alıntı yapılan: "maxiboost"proramın başına yazarmısın ?
DECLARE FLOAT_DISPLAY_TYPE = LARGE or STANDARD

sadece ekrana değil yapılan işlemede etkisi olması lazım .

DECLARE FLOAT_DISPLAY_TYPE = LARGE  olacaktı sanırım  ;)

Ankaralı

Yok mu bunun mantıklı bir izahı şimdi ?
@ NEXYS2

picusta

32 bitlik veya daha çok bitlik float degiskeni kullanirsan sorun kalmaz.
Bu sorun üniversitede ayri bir ders olarak isleniyor (bilgisayarda matlab uygulamali olarak).

Ankaralı

Alıntı yapılan: "picusta"32 bitlik veya daha çok bitlik float degiskeni kullanirsan sorun kalmaz.
Bu sorun üniversitede ayri bir ders olarak isleniyor (bilgisayarda matlab uygulamali olarak).


Usta zaten 32 bitlik float değişkeni kullandım...

Acaba 18f serisi ile yapsak sorun giderilirmi ki?
@ NEXYS2

Maxim

burada yapılan float işlem sonuçlarının hatalarından ve nasıl hatasız işlemler yapılabilir ? ondan bahsedilmektedir ,

sanırım işe yarayacaktır.

http://wiki.picbasic.org/index.php?n=FloatingPoint.Other

teknikelektronikci

proton ide ye

DECLARE FLOAT_DISPLAY_TYPE  yazip bir bosluk birakp f1 e basip ordaki yaziyi okudunuzmu? sanirim 14-16 bitlik arasindaki fark ve sorunlardan bahsediyor türkce icin translate google deneyiniz
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!