İki tam sayıyı nasıl böler ve C'ye çift veya yüzdürme yanıtı verirsiniz?Tamsayı bölümlerinde kesirler nasıl alınır?
cevap
Birini veya diğerini float
veya double
'a dökmeniz gerekir.
int x = 1;
int y = 3;
// Before
x/y; // (0!)
// After
((double)x)/y; // (0.33333...)
x/((double)y); // (0.33333...)
, sen double
veya float
bir bölünmeye nedensonucunu saklamak olduğundan emin olun! Sonucu başka bir int
'da saklarsanız, iyi olmaz. Çad'ın comment ("[tailsPerField setIntValue:tailsPer]
") @ İlişkin
:
çift iletebilir veya vb kullanılabilirsetDoubleValue
varken setIntValue
için yüzer vermeyin. Muhtemelen yorumda bahsettiğim, açık bir yayınlama kullanılmadığınız ve geçersiz bir değere sahip olduğunuz söz konusu olan aynı sorun, çünkü bir çift bir int olarak okunduğundan. sistemimde Örneğin , dosya:
#include <stdio.h>
int main()
{
double x = 3.14;
printf("%d", x);
return 0;
}
çıkışları: çift çalışıldı çünkü
1374389535
int olarak okunacak.
Sağ. Bölümü gerçekleştirmeden önce tam sayıları dönüştürün. – DOK
çift tp; çift x; x = tn; // (tn bir int) normal olarak 10 tp = x/fn; // fn aynı zamanda bir int (normalde 5) ama hala 0 –
@Chad olsun: Kod doğru görünüyor. Sonuçların sıfır olduğunu nasıl belirlediniz? Printf ("% d", tp) 'gibi bir şey mi yapıyorsunuz? Bu, bir çiftin içeriğini bir int olarak yazdırmaya çalışır ve doğru sonuçları alamazsınız. Bunu yaparsan derleyicin seni uyarmış olmalı. Bir çift için format dizgesi '% lf' dir. –
Yazım tipini kullanın. Örneğin ,
main()
{
float a;
int b=2, c= 3;
a=(float)b/(float)c; // This is type-casting
printf("%f",a);
}
- 1. NSDictionary'dan tamsayı değeri nasıl alınır?
- 2. Kalın metin sadece JTextArea bölümlerinde nasıl gösterilir?
- 3. OpenMP paralel bölümlerinde işaretçiler özeldir?
- 4. Liste bir boole içeriyorsa, bir tamsayı dizininden liste nasıl alınır?
- 5. Kaynak Sözlük, projenin tüm bölümlerinde verimli bir şekilde nasıl kullanılır?
- 6. Tamsayı
- 7. tamsayı
- 8. Tamsayı
- 9. Tamsayı işaretçi atama aksaklık tamsayı
- 10. R işareti: LaTex olmadan kesirler ve alt kümeler
- 11. Ekran Boyutunu Tamsayı olarak atla Tamsayı olarak
- 12. Parametre tamsayı
- 13. "Tamsayı" türünden "Tamsayı" türüne dönüştürme geçerli değil
- 14. tamsayı argümanlar ++
- 15. java == Tamsayı
- 16. Dize dönüştürmede tamsayı, D
- 17. İthalat olmayan tamsayı sabit
- 18. Haskell'de bir işaretçi değeri nasıl alınır?
- 19. Python SHA1 Tamsayı
- 20. Android: xml kaynağından tamsayı
- 21. Bir bayttan tamsayı okuma []
- 22. Kesişen iki tamsayı bitwise
- 23. Kabukta tamsayı ekleme
- 24. uzun tamsayı okuyucular
- 25. Dize İçine Tamsayı Dönüştürme
- 26. 24 basamaklı tamsayı
- 27. Delphi'de bir dosyanın oluşturulma tarihi/son değiştirilme tarihleri nasıl alınır?
- 28. NSMutableArray içine tamsayı değeri nasıl eklenir?
- 29. Rasgele baytları bir tamsayı aralığına dönüştürme - nasıl?
- 30. Django - Kullanıcı girişinden tamsayı alanı nasıl artırılır?
"ondalık" tamsayı ya da olmayan tam sayılardır için de geçerlidir ("onaltılık", "sekizlik", "ikili" gibi) bir temsilidir. Yani, "tamsayı olmayan bir sonuç al" demek istedim. – leonbloy
Tamsayı bölmeli printf ("% d% d /% d" x/y, x% y, y) ile fraksiyonları (rasyonel sayılar) nasıl elde edersiniz. Tam sayı olmayan bir sonuç istemediğinizden emin misiniz? – Brendan