SORU
15 Kasım 2012, PERŞEMBE


1.0 ile çarpma hassas ve dönüşüm yüzer int

Güvenli 0 ** durum, herhangi bir tam sayı i için doğru olduğunu varsayalım.

CEVAP
15 Kasım 2012, PERŞEMBE


Hayır.

i yeterince büyük O int(float(i)) != i (farz kayan nokta IEEE-754 tek hassas, i = 0x1000001 yeter senaryo bu) o zaman bu yanlış, çünkü çarpma 1.0f kuvvetler dönüşüm için float hangi değişiklikleri değeri olsa da bir sonraki çarpma değil.

Eğer i 32-bit tamsayı ve double IEEE-754 çift, o zaman bir ise . ancak, ^em>int(i*1.0) == i Bu doğru.


Tamamen açık, 1.0f çarpma olmak içinkesin. Olmayabilir float 11 *dönüştürme.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ElChakotay Andrich

    ElChakotay A

    10 EKİM 2013
  • Kat Krazy

    Kat Krazy

    12 Kasım 2010
  • The Slow Mo Guys

    The Slow Mo

    15 AĞUSTOS 2010