>> DAVID MALAN: Dezagun kolpe en orain zure gogoan.
Bihurtzen mundu erreala 1 banatzen da 10 1/10, edo 0,1 da, hain zuzen.
Baina ordenagailuetan bakarrik izan duten finitua bit kopurua zein den
zenbakiak irudikatzeko, ezin duzu beti 1/10 bezalako zenbakiak irudikatzeko dituzten
doitasun ezin hobea.
Beste era batera esanda, ordenagailuak batzuetan epaiketa deiak eta ez egiteko
nahitaez irudikatzeko kopuruaren duzu nahi baita, hain zuzen, nahi duzun bezala.
>> Esate baterako, eman dezagun atzera jo dut sartu programa hau eta 0,1 era aldatzeko,
oh, 0.28, horrela adierazten duten Nuke printf hemen printf
28 Zehaztasun-lekuak.
Utzi gorde eta programa konpilatu orain en, make floats2 denbora honetan.
Exekutatu dot barra floats2 batera.
Eta, Jainko maitea, une honetan ez dut ikusten 0.1, baina 0.10000000, hau da, nahiko
ona hain urruti.
Baina, ondoren, 14901161193847656250.
>> Beno, zer gertatzen da?
Beno, bihurtzen da mugikor bat dela normalean ordenagailu baten barruan gordetzen
32 bit-ekin.
32 kopuru mugatu batean, da, jakina, eta horrek dakar duzula bakarrik irudikatzeko daiteke
32 bit kopuru mugatu batekin puntua balioak flotatzen.
Zoritxarrez, horrek esan nahi du ordenagailua ezin irudikatzeko guztiak posible
puntu mugikorreko zenbakien edo zenbaki errealak, duten munduko existitzen,
bit hainbeste bakarrik egiten duelako.
>> Eta beraz, zer da ordenagailua itxuraz kasu honetan, egiten den irudikatzeko 1 / 10era
hurbileneko posible mugikorreko puntuaren balioa, ahal dela.
Baina dugu begiratuz gero, hemen izan dugun bezala, 28ra dezimalekin, hori ikusteko hasten gara
imprecision.
Beraz, hau arazo bat da irtenbide perfektua ez.
Ordez karroza baten bikoitz bat erabili ahal izango dugu, horietatik 64 bit gisa erabili ohi
32 aurka.
Baina noski, 64 ere finitua da, beraz arazoa izango
jarraituko dute, are gehiago bikoitzak batera.