SORU
27 Ocak 2009, Salı


C yüzdürmek için() yuvarlak

Basit bir kayan nokta yuvarlama fonksiyonu, böylece ihtiyacım var:

double round(double);

round(0.1) = 0
round(-0.1) = 0
round(-0.9) = -1

Bulabilirim ceil() ve floor() matematik.h - ama yuvarlak değil().

Başka bir isim altında standart C kütüphanesinde mevcut mu, yoksa kayıp mı??

CEVAP
27 Ocak 2009, Salı


Yuvarlak var hayır() C 98 standart kütüphanede. Kendiniz olsa da yazabilirsiniz:

double round(double d)
{
  return floor(d   0.5);
}

Yuvarla işlevi yok muhtemel nedeni C 98 standart kütüphanede aslında farklı şekillerde uygulanabilir. Yukarıdaki ortak bir yol vardır, diğerleri gibi round-to-even, hangisi daha az önyargılı ve genellikle daha iyi eğer çok yuvarlanması; biraz daha karmaşık uygulamak rağmen.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • max2sims2

    max2sims2

    19 Kasım 2008
  • stewmurray47

    stewmurray47

    1 Kasım 2006
  • Subscribe!!

    Subscribe!!

    3 EKİM 2009