>> David MALAN: ngayon pumutok ang iyong isip Hayaan.
Ito ay lumiliko out sa tunay na mundo 1 hinati sa pamamagitan ng 10 talaga ang 1/10, o 0.1.
Ngunit sa mga computer na may isang may hangganan lamang bilang ng mga piraso sa kung alin ang
kumakatawan sa mga numero, hindi mo makakaya palaging kumakatawan sa mga numero tulad ng 1/10 sa
perpektong katumpakan.
Sa ibang salita, mga computer minsan ay may upang gumawa ng mga tawag paghatol at hindi
kinakailangang kumakatawan sa bilang mo Gusto bilang tumpak na bilang nilayon mo.
>> Halimbawa, ipagpalagay na pumunta ako pabalik sa ito programa at baguhin ang mga 0.1 sa,
oh, 0.28, at sa gayon ay nagpapahiwatig na Gusto ko ng printf sa printf sa
28 mga lugar ng katumpakan.
Hayaan ngayong i-save at sumulat ng libro sa programa, sa pagkakataong ito kasama make floats2.
Patakbuhin ito sa tuldok slash floats2.
At, mahal na Diyos, ngayon hindi ko makita ang 0.1, ngunit 0.10000000, na kung saan ay medyo
mabuti sa ngayon.
Ngunit pagkatapos, 14901161193847656250.
>> Well, ano kaya ang nangyari?
Well, ito ay lumiliko out na ang isang float ay Karaniwang naka-imbak sa loob ng isang computer
may 32 bits.
32 ay malinaw naman isang may hangganan bilang, na nagpapahiwatig na maaari ka lamang kumatawan
may 32 bit sa isang tiyak na numero ng mga lumulutang na mga halaga ng point.
Sa kasamaang-palad, ay nangangahulugan na na ang Hindi maaaring kumatawan sa lahat ng posibleng mga computer na
lumulutang na tuldok numero, o real numero, na umiiral sa mundo,
dahil lamang mayroon itong napakaraming mga bits.
>> At kaya kung ano ang tila ang computer tapos na sa kasong ito ay kumakatawan sa 1/10 sa
ang pinakamalapit na posibleng lumulutang value point na maaari itong.
Ngunit kung masaya naming, pati na mayroon kami dito, sa 28 decimal place, simulan namin upang makita na
imprecision.
Kaya ito ay isang problema sa walang perpektong solusyon.
Maaari kaming gumamit ng isang double sa halip ng isang float, na kung saan ay may gawi na gamitin ang 64 bit bilang
kabaligtaran sa 32.
Ngunit siyempre, 64 ding may hangganan, kaya habilin ang problema
mananatiling kahit na sa doubles.