1 00:00:00,000 --> 00:00:00,310 2 00:00:00,310 --> 00:00:01,750 >> DAVID Malan: Ejja issa blow moħħok. 3 00:00:01,750 --> 00:00:06,500 Jirriżulta fid-dinja reali 1 maqsuma b'10 huwa tabilħaqq 1/10, jew 0.1. 4 00:00:06,500 --> 00:00:10,370 Iżda fil-kompjuters li huma biss ikollhom finite numru ta 'bits li biex 5 00:00:10,370 --> 00:00:14,290 jirrappreżentaw numri, inti ma tistax dejjem jirrappreżentaw numri bħall 1/10 ma 6 00:00:14,290 --> 00:00:15,500 preċiżjoni perfetta. 7 00:00:15,500 --> 00:00:18,640 Fi kliem ieħor, kompjuters kultant ikollhom biex jagħmlu sejħiet sentenza u ma 8 00:00:18,640 --> 00:00:22,740 neċessarjament jirrappreżentaw in-numru inti jridu preċiżament kemm għandek il-ħsieb. 9 00:00:22,740 --> 00:00:27,020 >> Per eżempju, ejja ngħidu li mmur lura fil dan il-programm u jibdlu l-0.1 u, 10 00:00:27,020 --> 00:00:32,073 oh, 0.28, u b'hekk jindika li Nixtieq printf li printf li 11 00:00:32,073 --> 00:00:34,350 28 postijiet ta 'preċiżjoni. 12 00:00:34,350 --> 00:00:39,330 Ejja issa issalva u jikkumpilaw-programm, din id-darba ma 'make floats2. 13 00:00:39,330 --> 00:00:41,910 Run ma floats2 dot slash. 14 00:00:41,910 --> 00:00:49,980 U, qalb Alla, din id-darba nara ma 0.1, iżda 0.10000000, li huwa pjuttost 15 00:00:49,980 --> 00:00:51,070 tajba s'issa. 16 00:00:51,070 --> 00:00:57,830 Iżda mbagħad, 14901161193847656250. 17 00:00:57,830 --> 00:00:58,880 >> Well, x'inhu għaddej? 18 00:00:58,880 --> 00:01:02,280 Ukoll, jirriżulta li float huwa tipikament maħżuna ġewwa ta 'kompjuter 19 00:01:02,280 --> 00:01:03,500 32 bits. 20 00:01:03,500 --> 00:01:07,340 32 huwa ovvjament numru finit, li jimplika li inti tista 'tirrappreżenta biss 21 00:01:07,340 --> 00:01:11,050 32 bits numru finit ta 'floating valuri tal-punti. 22 00:01:11,050 --> 00:01:14,980 Sfortunatament, dan ifisser li l- kompjuter ma jistax jirrappreżenta possibbli 23 00:01:14,980 --> 00:01:18,110 b'punt li jvarja numri, jew numri reali, li jeżistu fid-dinja, 24 00:01:18,110 --> 00:01:19,980 minħabba li biss tant bits. 25 00:01:19,980 --> 00:01:23,940 >> U għalhekk dak li l-kompjuter apparentement sar f'dan il-każ jirrappreżentaw 1/10 sa 26 00:01:23,940 --> 00:01:26,880 l Floating eqreb possibbli valur tal-punt li jista '. 27 00:01:26,880 --> 00:01:31,050 Iżda jekk inħarsu, kif għandna hawnhekk, sa 28 postijiet deċimali, nibdew biex tara li 28 00:01:31,050 --> 00:01:31,970 impreċiżjoni. 29 00:01:31,970 --> 00:01:34,480 Allura dan huwa problema ma ebda soluzzjoni perfetta. 30 00:01:34,480 --> 00:01:38,060 Nistgħu nużaw doppja minflok ta 'float, li għandhom tendenza li jużaw 64 bits bħala 31 00:01:38,060 --> 00:01:39,410 kuntrarju 32. 32 00:01:39,410 --> 00:01:42,290 Iżda naturalment, 64 huwa wkoll finit, għalhekk il-problema se 33 00:01:42,290 --> 00:01:43,630 jibqgħu anke ma jirdoppja. 34 00:01:43,630 --> 00:01:46,323