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

  • BeginnersTech

    BeginnersTec

    8 NİSAN 2011
  • jat4011

    jat4011

    16 EKİM 2010
  • jcortes187

    jcortes187

    24 Mart 2006