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

  • REK Roth Productions

    REK Roth Pro

    8 Ocak 2011
  • FF Radioo

    FF Radioo

    14 ŞUBAT 2007
  • xiaoyu85

    xiaoyu85

    20 ŞUBAT 2010