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

  • akalyne

    akalyne

    13 Mayıs 2009
  • george sarintzotis

    george sarin

    2 Aralık 2007
  • Moto Journal

    Moto Journal

    28 Mayıs 2007