Haberler:

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

Ana Menü

negatif sayıda çarpma?

Başlatan shark27, 27 Şubat 2011, 17:10:43

shark27

kolay gelsin herkese

lcd de -200 sayısı ile 0.073 sayısını çarptırıp sonucu ekrana yazıdrmak istiyorum...

long sayi=-200;
float deger=0.073;
long sonuc;

sonuc=sayi*deger;

ekranda değer 4769 çıkıyor acaba sorun nerde

teşşekürler....

rf


CCS C'de bilmiyorum ama c için  aşağıdaki kodu denerseniz sorununuz düzelebilir.

sonuc = (long) sayi * deger;

Kolay gelsin...
KOSGEB Girişimcilik Desteği Bilgi ve Paylaşım Platformu http://www.girisimcilikdestegi.com/

fahri-

Değişkenlerin hepsini float yapın . değişken dönüşümlerinde problem oluyor.

shark27

hocam hepsini float yaptım şu anda değer ekranda -14.60 olarak çıktı teşekkür ederim yardımlarınızdan dolayı...

ii çalışmalar...

eseneren

@shark sıkıntısını yasadıgın olayın cozumune cast dıyorlar sanırım...
Seçim yapmak için durum hakkında bilgi sahibi olmak zorunda değilsin, sonucuna hazır olmak için durum hakkında kaygılanırsın.  http://bit.ly/gixfTk

shark27

değerleri float yapmadan mesela long olarak negatif sayılarda çarpma yapamazmıyız?

fahri-

int, long  farketmez. unsigned tanımlamadıktan sonra işlem yapabilirsiniz. ama limitlere dikkat etmek gerekir.

shark27

unsigned işaretsiz değilmi hocam?

fahri-

evet işaretsiz . signed tanımlarsanız demek istedim.

shark27

şu anda bişey denedim

float kp=0.0966;
float deger;
long toplam=0;

deger=-300;

toplam=deger*kp
printf(lcd_putc,"\fdeger=%ld",toplam);

ekranda -28 yazdı  normal çarptığımız zaman 28.98 çıkıyor ama ben ceil veya flooru kullanmadım neden yuvarladı bu ??

fahri-

long değişkende nokta yoktur.  float  değişken noktalıdır. long değişkeni yazdırmaya çalışıyorsun.

shark27

peki hocam picc de direkt olarak float ifadeyi long 'a çeviren bi komut veya başka bişey varmı?

shark27

eyw teşekkür ederim kardeş