1 00:00:07,632 --> 00:00:10,270 [Powered by Google Translate] JORDAN JOZWIAK: Kalite Distribisyon an, nan sans ki pi senp, se yon 2 00:00:10,270 --> 00:00:13,300 fason yo chanje entèpretasyon yon òdinatè a nan kèk done pa 3 00:00:13,300 --> 00:00:16,560 chal oswa fòmèlman chanje kalite done li yo. 4 00:00:16,560 --> 00:00:19,940 Tankou chanje yon int nan yon flote, oswa vis vèrsa. 5 00:00:19,940 --> 00:00:21,550 Pou konprann Distribisyon kalite, nou bezwen 6 00:00:21,550 --> 00:00:22,680 kòmanse ak atik debaz yo - 7 00:00:22,680 --> 00:00:24,140 done kalite tèt yo. 8 00:00:24,140 --> 00:00:26,960 Nan langaj konpitè tankou C, tout varyab gen kèk sòt 9 00:00:26,960 --> 00:00:29,690 nan done kalite ki detèmine kouman òdinatè a, ak menm jan an tou 10 00:00:29,690 --> 00:00:32,140 itilizatè a, entèprete varyab sa a. 11 00:00:32,140 --> 00:00:35,160 Done nimerik kalite tankou yon int, flote long long, ak 12 00:00:35,160 --> 00:00:38,110 doub, tout gen karakteristik pwòp yo inik ak se 13 00:00:38,110 --> 00:00:41,370 itilize yo presize valè divès kalite chenn ak presizyon. 14 00:00:41,370 --> 00:00:44,800 Distribisyon Kalite pèmèt nou pran yon nimewo pwen k ap flote tankou 15 00:00:44,800 --> 00:00:49,170 3.14 epi pou yo jwenn pati a anvan desimal a, 3 nan ka sa a, 16 00:00:49,170 --> 00:00:51,590 pa depoze li nan yon int. 17 00:00:51,590 --> 00:00:53,900 Ann pran yon egzanp soti nan lang angle a pou yon brèf 18 00:00:53,900 --> 00:00:56,910 revize kalite, ak wè kouman kalite Distribisyon kapab chanje 19 00:00:56,910 --> 00:00:59,380 wout la nou entèprete yon moso nan done. 20 00:00:59,380 --> 00:01:05,269 Pou done, kite a pran senbòl yo isit la. 21 00:01:05,269 --> 00:01:07,570 Mwen te jis, al gade nan liy sa yo ak anpil atansyon configuré kòm 22 00:01:07,570 --> 00:01:10,100 senbòl, men kòm yon moun ki konnen lang angle a, 23 00:01:10,100 --> 00:01:12,750 ou imedyatman rekonèt ke yo ye a, an reyalite, lèt yo. 24 00:01:12,750 --> 00:01:15,580 Ou chal konprann kalite a done. 25 00:01:15,580 --> 00:01:17,620 Gade sa a fil de lèt nou ka wè de 26 00:01:17,620 --> 00:01:20,140 mo diferan, yo chak ak siyifikasyon pwòp li yo. 27 00:01:20,140 --> 00:01:25,530 Genyen nan non la, van, tankou nan van an ap deyò. 28 00:01:25,530 --> 00:01:28,280 Ak gen nan vèb la, van, tankou nan mwen bezwen 29 00:01:28,280 --> 00:01:31,410 van gade analogique m 'yo. 30 00:01:31,410 --> 00:01:33,420 Sa a se yon egzanp enteresan, paske nou ka wè 31 00:01:33,420 --> 00:01:36,270 ki jan kalite la ke nou transfere bay done nou an, si non oswa 32 00:01:36,270 --> 00:01:39,080 vèb, chanjman ki jan nou itilize ke done - 33 00:01:39,080 --> 00:01:41,730 kòm van an mo oswa van. 34 00:01:41,730 --> 00:01:44,100 Malgre ke yon òdinatè pa pran swen sou gramè ak pati 35 00:01:44,100 --> 00:01:47,750 lapawòl angle, prensip la menm debaz aplike. 36 00:01:47,750 --> 00:01:50,290 Sa se, nou kapab chanje rèv la vle egzak la 37 00:01:50,290 --> 00:01:53,140 done menm ki estoke nan memwa pa senpleman depoze li nan yon 38 00:01:53,140 --> 00:01:54,576 diferan kalite. 39 00:01:54,576 --> 00:01:57,250 Isit la yo se gwosè yo nan kalite ki pi komen sou yon 32 ti jan- 40 00:01:57,250 --> 00:01:58,340 opere sistèm. 41 00:01:58,340 --> 00:02:02,070 Nou gen yon Char nan 1 int multiple, ak flote nan 4 bytes, yon long 42 00:02:02,070 --> 00:02:04,390 long ak yon doub nan 8 bytes. 43 00:02:04,390 --> 00:02:07,670 Paske yon int pran moute 4 bytes, li pral pran 32 Bits 44 00:02:07,670 --> 00:02:10,060 lè li se ki estoke nan memwa kòm yon seri binè 45 00:02:10,060 --> 00:02:11,500 nan zewo ak inite. 46 00:02:11,500 --> 00:02:14,020 Pandan tout tan kòm varyab nou rete kòm yon int nan kalite, 47 00:02:14,020 --> 00:02:16,740 òdinatè ap toujou konvèti sa yo yo menm ak zewo soti nan 48 00:02:16,740 --> 00:02:19,120 binè nan nimewo orijinal la. 49 00:02:19,120 --> 00:02:21,270 Sepandan, nou te ka teyorikman jete sa yo 32 50 00:02:21,270 --> 00:02:23,510 Bits nan yon seri de kalite Boolean. 51 00:02:23,510 --> 00:02:26,090 Lè sa a, òdinatè a pa t 'ankò wè yon nimewo, men 52 00:02:26,090 --> 00:02:28,810 olye yon koleksyon zewo ak inite. 53 00:02:28,810 --> 00:02:31,570 Nou te ka tou eseye li sa done kòm yon nimerik diferan 54 00:02:31,570 --> 00:02:34,660 tape, oswa menm kòm yon afè de kat karaktè. 55 00:02:34,660 --> 00:02:37,820 Lè gen rapò ak nimewo yo nan Distribisyon, ou dwe konsidere kouman 56 00:02:37,820 --> 00:02:40,470 pral presizyon la ki gen valè ou a ap afekte. 57 00:02:40,470 --> 00:02:43,240 Kenbe nan tèt ou ke presizyon la kapab rete menm jan an, 58 00:02:43,240 --> 00:02:47,150 oswa ou ka pèdi presizyon, men ou pa janm ka jwenn presizyon. 59 00:02:47,150 --> 00:02:49,060 Ann al nan pou twa fason yo ke ou kapab ki pi komen 60 00:02:49,060 --> 00:02:50,400 pèdi presizyon. 61 00:02:50,400 --> 00:02:53,060 Depoze yon flote nan yon int ap lakòz tronkatur nan tout bagay 62 00:02:53,060 --> 00:02:54,900 apre pwen desimal la, kidonk, ou ap kite 63 00:02:54,900 --> 00:02:55,950 avèk nimewo a tout antye. 64 00:02:55,950 --> 00:03:02,000 Si nou pran x lan flote ki pral egal a 3.7, nou ka jete 65 00:03:02,000 --> 00:03:05,580 sa a x varyab nan yon int pa senpleman ekri int nan 66 00:03:05,580 --> 00:03:07,050 parantèz. 67 00:03:07,050 --> 00:03:10,010 Chak fwa nou itilize tèm sa a isit la, nou pral efektivman 68 00:03:10,010 --> 00:03:12,810 dwe lè l sèvi avèk valè a twa paske nou te twonke 69 00:03:12,810 --> 00:03:14,880 tout bagay apre pwen desimal la. 70 00:03:14,880 --> 00:03:17,210 Nou kapab tou konvèti yon long long nan yon int, ki pral yon 71 00:03:17,210 --> 00:03:20,760 Menm jan an mennen nan yon pèt a-wo lòd miyèt moso. 72 00:03:20,760 --> 00:03:23,910 Yon long tan pran moute 8 bytes, oswa 64 Bits nan memwa. 73 00:03:23,910 --> 00:03:27,050 Se konsa, lè nou voye l 'jete nan yon int ki te sèlman gen 4 bytes, oswa 32 74 00:03:27,050 --> 00:03:29,820 Bits, n ap esansyèlman découper koupe tout Bits yo ki 75 00:03:29,820 --> 00:03:32,420 reprezante valè yo binè pi wo. 76 00:03:32,420 --> 00:03:34,690 Ou kapab tou voye yon doub nan yon flote, ki pral bay 77 00:03:34,690 --> 00:03:37,340 ou flote nan ki pi pre posib doub a san yo pa 78 00:03:37,340 --> 00:03:39,100 nesesèman awondi li. 79 00:03:39,100 --> 00:03:41,840 Menm jan ak lontan lontan nou yo konvèsyon Int, pèt la nan 80 00:03:41,840 --> 00:03:44,890 presizyon se paske yon doub gen plis done. 81 00:03:44,890 --> 00:03:47,910 Yon doub pral pèmèt ou nan magazen 53 Bits enpòtan, 82 00:03:47,910 --> 00:03:50,650 apeprè 16 chif enpòtan. 83 00:03:50,650 --> 00:03:53,050 Lè nou konsidere ke yon flote pral sèlman pèmèt ou nan magazen 24 84 00:03:53,050 --> 00:03:56,235 Bits siyifikatif, apeprè sèt chif enpòtan. 85 00:03:56,235 --> 00:03:58,700 Nan sa yo de ka ki sot pase yo, li kapab itil panse a 86 00:03:58,700 --> 00:04:01,200 tape Distribisyon kòm rèsizin yon foto. 87 00:04:01,200 --> 00:04:03,860 Lè ou ale nan yon gwosè gwo nan yon gwosè ti, ou pa ka wè 88 00:04:03,860 --> 00:04:05,600 bagay sa yo kòm byen klè paske ou pèdi done 89 00:04:05,600 --> 00:04:07,530 nan fòm lan nan piksèl. 90 00:04:07,530 --> 00:04:09,270 Distribisyon Kalite kapab lakòz tou pwoblèm pou lè nou 91 00:04:09,270 --> 00:04:11,050 jete antye flote. 92 00:04:11,050 --> 00:04:13,920 Depi flote sou yon machin 32-bit sèlman gen 24 93 00:04:13,920 --> 00:04:16,959 Bits siyifikatif, yo pa ka avèk presizyon reprezante valè 94 00:04:16,959 --> 00:04:22,750 plis pase 2 a pouvwa a nan 24, oswa 16777217. 95 00:04:22,750 --> 00:04:25,540 Koulye a, kite nan pale sou Distribisyon eksplisit ak enplisit. 96 00:04:25,540 --> 00:04:28,000 Distribisyon eksplisit se lè nou ekri kalite a nan parantèz 97 00:04:28,000 --> 00:04:29,430 anvan yon non varyab. 98 00:04:29,430 --> 00:04:33,100 Kòm yon egzanp, anvan nou te ekri int nan parantèz anvan nou 99 00:04:33,100 --> 00:04:35,640 flote x varyab. 100 00:04:35,640 --> 00:04:37,200 Nan fason sa a, nou jwenn nan valè a Int, 101 00:04:37,200 --> 00:04:38,593 twonke valè de 3.7 - 102 00:04:38,593 --> 00:04:40,370 3. 103 00:04:40,370 --> 00:04:42,970 Distribisyon enplisit, se lè du a otomatikman chanje 104 00:04:42,970 --> 00:04:46,340 kalite ki sanble ak yon kalite super, oswa fè kèk sòt lòt kote nan 105 00:04:46,340 --> 00:04:48,310 depoze san yo pa egzije itilizatè a ekri 106 00:04:48,310 --> 00:04:49,720 nenpòt kòd adisyonèl. 107 00:04:49,720 --> 00:04:53,550 Pou egzanp, lè nou ajoute 5 ak 1.1, valè nou deja gen 108 00:04:53,550 --> 00:04:55,680 kalite ki asosye ak yo. 109 00:04:55,680 --> 00:04:59,480 5 a se yon int, Lè nou konsidere ke 1.1 se yon flote. 110 00:04:59,480 --> 00:05:02,390 Yo nan lòd yo ajoute yo, òdinatè a projet 5 nan yon flote, 111 00:05:02,390 --> 00:05:04,530 ki ta kapab menm bagay la kòm ekri 5.0 nan la 112 00:05:04,530 --> 00:05:06,476 premye plas. 113 00:05:06,476 --> 00:05:13,210 Men, nan fason sa a nou di flote 5, oswa 5.0, plis sa ki te deja 114 00:05:13,210 --> 00:05:16,960 yon flote, 1.1, ak soti nan la nou ka aktyèlman ajoute sa yo 115 00:05:16,960 --> 00:05:18,640 valè epi pou yo jwenn valè a 6.1. 116 00:05:21,170 --> 00:05:23,500 Distribisyon enplisit tou pèmèt nou bay varyab la 117 00:05:23,500 --> 00:05:25,590 diferan kalite nan chak lòt. 118 00:05:25,590 --> 00:05:28,110 Nou ka toujou bay yon kalite mwens egzak nan yon pi plis 119 00:05:28,110 --> 00:05:29,250 egzak youn. 120 00:05:29,250 --> 00:05:37,060 Pou egzanp, si nou gen yon x doub, ak yon y Int - 121 00:05:37,060 --> 00:05:40,120 ak sa yo te kapab gen nenpòt ki valè ke nou fè yo al - 122 00:05:40,120 --> 00:05:43,560 nou ka di x egal y. 123 00:05:43,560 --> 00:05:46,340 Paske doub la gen presizyon plis pase yon int, konsa nou 124 00:05:46,340 --> 00:05:48,380 pa pral pèdi nenpòt enfòmasyon. 125 00:05:48,380 --> 00:05:50,420 Nan lòt men an, li pa ta nesesèman pi kòrèk yo di 126 00:05:50,420 --> 00:05:54,060 y egal x, paske doub la ta ka gen yon valè pi gwo pase 127 00:05:54,060 --> 00:05:55,220 nonb antye relatif la. 128 00:05:55,220 --> 00:05:57,420 Se konsa, nonm antye a pa ka kapab kenbe nan tout 129 00:05:57,420 --> 00:05:59,560 enfòmasyon ki estoke nan doub la. 130 00:05:59,560 --> 00:06:02,610 Se enplisit Distribisyon sèvi tou nan operatè konparezon tankou 131 00:06:02,610 --> 00:06:06,410 pi gran pase, mwens pase, oubyen operatè-a egalite. 132 00:06:06,410 --> 00:06:13,050 Nan fason sa nou ka di si 5.1 se pi gran pase 5 an, epi nou jwenn nan 133 00:06:13,050 --> 00:06:14,750 lakòz vre. 134 00:06:14,750 --> 00:06:18,470 Paske 5 se yon int, men li pral jete nan yon flote yo nan lòd yo 135 00:06:18,470 --> 00:06:22,090 dwe konpare ak flote nan 5.1, nou ta di 5.1 se 136 00:06:22,090 --> 00:06:24,550 pi gran pase 5.0. 137 00:06:24,550 --> 00:06:31,320 Menm a se laverite ak li di si 2.0 egal egal 2. 138 00:06:31,320 --> 00:06:34,190 Nou ta jwenn tou vre, paske òdinatè a ap lage a 139 00:06:34,190 --> 00:06:39,750 nonb antye relatif 2 a ap flote ak Lè sa a, di 2.0 egal egal 2.0, 140 00:06:39,750 --> 00:06:41,660 sa a se verite. 141 00:06:41,660 --> 00:06:44,180 pa bliye ke nou ka tou jete ant antye ak charaktèr, 142 00:06:44,180 --> 00:06:46,350 oswa valè ASCII. 143 00:06:46,350 --> 00:06:49,690 Charaktèr bezwen tou yo dwe redwi a binè, ki se poukisa ou 144 00:06:49,690 --> 00:06:51,920 ka byen fasil konvèti ant charaktèr ak rèspèktif yo 145 00:06:51,920 --> 00:06:53,260 Valè ASCII. 146 00:06:53,260 --> 00:06:56,180 Pou aprann plis sou sa a, tcheke deyò videyo nou an sou ASCII. 147 00:06:56,180 --> 00:06:58,080 Lè ou pran yon moman yo reflechi sou ki jan done a estoke, 148 00:06:58,080 --> 00:06:59,990 li kòmanse fè yon anpil nan sans. 149 00:06:59,990 --> 00:07:02,790 Li nan jis tankou diferans ki genyen ant van ak van. 150 00:07:02,790 --> 00:07:05,490 Done a se menm bagay la tou, men kalite a kapab chanje ki jan nou 151 00:07:05,490 --> 00:07:06,720 entèprete li. 152 00:07:06,720 --> 00:07:10,430 Non mwen se lòt bò larivyè Jouden Jozwiak, sa a cs50.