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

  • Bratayley

    Bratayley

    30 Aralık 2010
  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • Press Start

    Press Start

    4 HAZİRAN 2006