DAVID Malan: Pojdimo zdaj blow your mind. Izkazalo se je, v resničnem svetu 1 deljena s 10 je dejansko 1/10, ali 0.1. Toda v računalnikih, ki imajo le omejen število bitov, s katerimi se predstavljajo številke, ne morete vedno predstavljajo številke, kot je 1/10 s popolna natančnost. Z drugimi besedami, računalniki včasih da bi judgment klice in ne predstavljajo nujno številko, ki jo tako natančno kot jo nameravate želite. Recimo, da sem šel nazaj v ta program in spremenite 0,1 do, oh, 0,28, kar kaže, da Rad bi, da printf printf na 28 krajev natančnosti. Pojdimo zdaj shranite in sestaviti program, tokrat z make floats2. Teči z dot poševnica floats2. In, dragi Bog, ta čas ne vidim 0.1, ampak 0.10000000, kar je precej dober do sedaj. Ampak potem, 14901161193847656250. No, kaj se dogaja? No, izkazalo se je, da je plovec običajno shranjeni znotraj računalnika s 32-bitno. 32 je očitno končno število, ki pomeni, da si lahko predstavlja le s 32-bitno končno število za plavajočo vejico. Na žalost, to pomeni, da Računalnik ne more predstavljati vse mogoče številk s plavajočo vejico ali realna števila, ki obstajajo v svetu, ker ima samo toliko bitov. Pa kaj, računalnik je očitno to v tem primeru predstavlja 1/10 do čim tesnejše plavajoči Vrednost točke, ki jih lahko. Ampak, če pogledamo, kot jo imamo tukaj, na 28. decimalna mesta, smo začeli videti, da nenatančnost. Torej je to problem, s ni idealna rešitev. Mi lahko uporabite dvojnega namesto likvidna sredstva, ki se nagiba za uporabo 64 bitov, kot je nasprotju z 32. Seveda, 64 je tudi omejen, tako bo problem ostajajo tudi z dvojicah.