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

  • Klemens Torggler

    Klemens Torg

    11 Mart 2008
  • Muse

    Muse

    28 EYLÜL 2006
  • Phlearn Photoshop and Photography Tutorials

    Phlearn Phot

    11 EKİM 2011