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.