1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:02,700 >> SPEAKER 1: Supozi Mi ŝatus skribi programo kiu presas el kaleŝego, 3 00:00:02,700 --> 00:00:05,700 specife la rezulto la dividadon de 1 per 10. 4 00:00:05,700 --> 00:00:08,830 Nu, mia unua instinktoj estus skribi tiun programon kiel sekvas. 5 00:00:08,830 --> 00:00:18,160 Float f egalas 1 dividita per 10, kaj poste presi f de procento .1 f, tiamaniere 6 00:00:18,160 --> 00:00:22,270 montrante, ke mi ŝatus printi float unu al dekuma loko, 7 00:00:22,270 --> 00:00:26,490 backslash n komo f. 8 00:00:26,490 --> 00:00:28,270 Ni nun kompili tiun programon. 9 00:00:28,270 --> 00:00:32,980 Faru float 0 dot oblikvo float 0. 10 00:00:32,980 --> 00:00:34,140 >> Nu, tio ne tute pravas. 11 00:00:34,140 --> 00:00:40,210 Mi estas tute certa ke 1 dividita per 10 aux 1/10 ne estas 0.0, sed 0,1, kaj tamen 12 00:00:40,210 --> 00:00:42,820 ĉi tie mi vidas sur la ekrano 0.0. 13 00:00:42,820 --> 00:00:43,860 Kio okazas? 14 00:00:43,860 --> 00:00:47,790 Nu, tio rezultas, ke en c, se vi dividu an int per int: 15 00:00:47,790 --> 00:00:49,090 vi reiri an int. 16 00:00:49,090 --> 00:00:54,810 Kaj tiel eĉ kvankam 1 dividita per 10 estas ja 0,10, 0,1 ne povas havi en la int, 17 00:00:54,810 --> 00:00:58,930 kaj do kion c tio estas ĝi senpintigas, aŭ ĵetas for ĉio post la 18 00:00:58,930 --> 00:01:01,770 dekuma loko, tiel lasante nin per nur 0. 19 00:01:01,770 --> 00:01:04,989 >> Sed tiam, kompreneble, kun presita f, ni specifi ke ni ŝatus presi f al 20 00:01:04,989 --> 00:01:09,260 unu dekuma loko, kaj tiel ke 0 estas montrata kiel 0,0. 21 00:01:09,260 --> 00:01:11,540 Nu, certe tio estas problemo kiu bezonas solvon. 22 00:01:11,540 --> 00:01:14,025