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

  • DigitalRev TV

    DigitalRev T

    30 AĞUSTOS 2007
  • sknbp

    sknbp

    16 Kasım 2006
  • taliajoy18

    taliajoy18

    12 Temmuz 2011