>> DAVID Malan: Felly sut y gall rydym yn datrys y broblem hon?
Wel, y ffordd hawsaf yw dim ond er mwyn osgoi ints yn gyfan gwbl, ac yn hytrach yn diffinio
un arnofio gan fflôt.
Yn benodol, gadewch i ni newid 1-1.0 a 10-10.0, ac yna achub y
ffeil fel floats1.c.
Gadewch i ni yn awr llunio gyda gwneud floats1, ac yna rhedeg gyda floats1.
Ac yn awr, yr wyf yn wir yn gweld 0.1.
>> Mae ffordd arall y gallem ddatrys hynny, ac mae hynny'n defnyddio castio.
Castio yw'r broses o drosi un math data i un arall, gan dybio ei fod
gwneud synnwyr i wneud hynny.
Yn yr achos hwn, yr hyn y gallwn ei wneud yw mynd yn ôl i'r fersiwn o cod lle rwy'n
rhannu un yn int o 10 yn int, ond Gallwn ddweud yn benodol y casglwr
yr wyf am ei drin 1 fel pe ei fod yn arnofio, hyd yn oed er ei fod yn int, a
Hoffwn i drin 10 fel fflôt, er ei fod, hefyd, yn int.
>> Mewn gwirionedd, gallwn fynd i ffwrdd gyda dim ond castio un o'r rhain i fflôt,
oherwydd os ydych yn rhannu fflôt gan int, neu int gan fflôt, bydd C
dychwelyd atoch gwerth pwynt arnawf.
Ond yn yr achos hwn, ar gyfer mesur da, 'n annhymerus' trosi ddau i fflotiau, ail-grynhoi
fy rhaglen gyda gwneud floats1, yna rhedeg gyda floats1 slaes dot,
ac yr wyf hefyd yn gweld 0.1.