Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

Float sayılar

Başlatan Maxim, 27 Şubat 2011, 20:21:04

Maxim

aşağıdaki kodu float değer kullanmadan kullanabilir hale getirmek istiyorum
nedenide protonda kolaylık sağlamasına rağmen, float sayıların acayip yer kaplaması.

"temp" word değerinin 4 e bölünmüş halinide 1000 e bölüyoruz
sonra çıkan değeride 3749 ile çarpıyoruz ve "SAYI" değerini elde ediyoruz.

amacım floatsız bu işlemleri yapmak .

teşekkürler

Dim TEMP As Word
Dim SAYI As Float

SAYI = 1000 / (TEMP / 4)
SAYI = SAYI * 3749

ErsinErce

TEMP word olarak atamışsınız alacağı en büyük değer 65535,
TEMP/4 = 16383.75,
1000/16383.75=0.06103608758678568703746089875639
0.06103608758678568703746089875639*3749=228.82429236285954070344090943771

Çözüm;

(3749*4*1000 = 14996000 )
SAYI as Dword
SAYI = 14996000/TEMP
SAYI = 228

Maxim

yok hocam böyle değil, sanırım ben anlatamadım tam.

sadece word kullanarak ondalık falan alınıyor, float -> word oluyor, bir tanede fazladan byte tanımlanıp ondalık değer ona atılıyor olması lazım, hem picbasicte dword yok.
yani benim istediğim picbasicte bunu yapıyormuş gibi davranmak .

ErsinErce

proton yazınca dword olarak kullandım,
sistem girişiniz bölme işlemine tabi tuttuğundan sadeleştirme yapmak zorlaşıyor,
SAYI=(A-Temp)*B, formuna dönüştürmeye çalışılabilir belki ama sisteminiz anlatma şansınız varsa belki ona göre düzenleme yapmak daha kolay olabilir.

Maxim

hocam selam
sistem falan yok, genelde bu tip işlemler yapıldığı için örnek bir formül verdim
bu formülde float tanımlaması olmadan float hesabı yaparsak zaten gerisi kolay

Dim TEMP As Word
Dim SAYI As Float

SAYI = 1000 / (TEMP / 4)
SAYI = SAYI * 3749