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ş:
Neden't C imzasız yüzer değil mi?...
Çift vs iPhone üzerinde yüzer...
'CGFloat kullanarak arasındaki fa...
Kaydırma yüzer divs dur...
C int için bir yüzer döküm zaman garip...