1 00:00:01,984 --> 00:00:07,450 [Powered by Google Translate] [SWNIO'N SEFYDLOG ELECTRONIG] 2 00:00:07,450 --> 00:00:11,320 ROB: Iawn, felly beth rydym yn unig yn dod i chi yn CS50 Mannau. 3 00:00:11,320 --> 00:00:12,325 ALI: Arhoswch, aros yn ôl i fyny. 4 00:00:12,325 --> 00:00:13,175 Croeso i adran! 5 00:00:13,175 --> 00:00:13,860 ROB: Croeso i adran! 6 00:00:13,860 --> 00:00:14,742 ALI: Yay! 7 00:00:14,742 --> 00:00:16,840 ROB: Supersection! 8 00:00:16,840 --> 00:00:18,610 ALI: Rwy'n Ali ac mae hyn yn Rob. 9 00:00:18,610 --> 00:00:20,680 Iawn, yn awr byddwn yn esbonio Mannau. 10 00:00:20,680 --> 00:00:23,650 ROB: Felly beth rydym yn unig yn dod i chi yn CS50 Mannau. 11 00:00:23,650 --> 00:00:29,260 Byddwch yn defnyddio'r lot yn yn eich adrannau y semester hwn. 12 00:00:29,260 --> 00:00:32,110 Yn y bôn, rydym eisoes wedi ei lawrlwytho yr offer. 13 00:00:32,110 --> 00:00:38,630 A allwch chi feddwl am CS50 Mannau fel rhyngwyneb gwe siarad ag offer 14 00:00:38,630 --> 00:00:40,670 bod gennym ar rai gweinydd yn rhywle. 15 00:00:40,670 --> 00:00:42,990 Felly, gallwch chi redeg eich cod yn y rhyngwyneb, ac byddwn ni 16 00:00:42,990 --> 00:00:44,180 weld sut i wneud pethau. 17 00:00:44,180 --> 00:00:48,200 Gallwch hefyd edrych ar y cod pobl eraill yn yr adran, ac - 18 00:00:48,200 --> 00:00:51,920 ALI: Ac fel y mae rhai pobl wedi darganfod, gallwch chi sgwrsio bobl ar yr ochr. 19 00:00:51,920 --> 00:00:54,230 A byddwn ni i gyd yn ei weld, hefyd, felly dyna gyffrous. 20 00:00:54,230 --> 00:00:55,655 Dewch ymlaen, yn dod i eistedd. 21 00:00:55,655 --> 00:00:57,060 Cymerwch sedd. 22 00:00:57,060 --> 00:00:57,840 >> ROB: Felly, adrannau yw - 23 00:00:57,840 --> 00:00:59,380 ALI: Na, na, gallwch chi guys ddod. 24 00:00:59,380 --> 00:01:03,356 ROB: Adrannau yn mynd i fod yn llawer mwy rhyngweithiol hwn yn semester. 25 00:01:03,356 --> 00:01:04,180 ALI: O, mae'n debyg - 26 00:01:04,180 --> 00:01:05,840 Oh. 27 00:01:05,840 --> 00:01:07,530 Iawn, oer. 28 00:01:07,530 --> 00:01:15,630 Felly, os ydych guys yn unig yn dod i mewn, gallwch fynd at y ddolen, os gallaf gael 29 00:01:15,630 --> 00:01:20,190 yno, iawn yno. 30 00:01:20,190 --> 00:01:22,780 Ni allwn yn wir ysgrifennu, oherwydd nad oes gofod bwrdd, ond y ddolen hon 31 00:01:22,780 --> 00:01:27,160 i'r dde yma, ewch i hynny ar eich cyfrifiaduron, a byddwch yn mynd i mewn CS50 32 00:01:27,160 --> 00:01:29,810 Mannau, sydd yn beth 'n bert oera. 33 00:01:32,460 --> 00:01:33,830 Iawn. 34 00:01:33,830 --> 00:01:35,370 A oes gennych broblem? 35 00:01:35,370 --> 00:01:39,930 ROB: Felly, gallwch chi ddod o hyd i'r problemau - 36 00:01:39,930 --> 00:01:42,720 mae angen i ni fod yn gallu ysgrifennu hyn yn rhywle. 37 00:01:42,720 --> 00:01:50,040 Felly, os ydych yn mynd i cs50.net/psets a dyma'r supersection haciwr - 38 00:01:50,040 --> 00:01:55,870 a byddwch yn mynd i mewn i'r Argraffiad Hacker o pset un, edrychwch ar y fanyleb 39 00:01:55,870 --> 00:01:57,620 rhywle i lawr ar dudalen - 40 00:02:01,940 --> 00:02:04,280 >> ALI: Felly y bôn, tra bod Rob yn edrych, beth ydym yn mynd i'w wneud yn 41 00:02:04,280 --> 00:02:06,650 heddiw adran hon mae yna adran o broblemau - 42 00:02:06,650 --> 00:02:07,600 ROB: - ar dudalen wyth. 43 00:02:07,600 --> 00:02:09,300 ALI: - a elwir yn adran o broblemau - 44 00:02:09,300 --> 00:02:10,280 ROB: Adran o gwestiynau. 45 00:02:10,280 --> 00:02:11,630 ALI: Mae'n ddrwg gennyf, adran o gwestiynau. 46 00:02:11,630 --> 00:02:14,450 A'r rhai yn yr hyn yr ydym yn mynd i fynd dros - 47 00:02:14,450 --> 00:02:16,370 y rhai yn yr hyn yr ydym yn mynd i fynd dros heddiw yn adran. 48 00:02:16,370 --> 00:02:20,010 Ac rydym ni'n mynd i cod ar CS50 Mannau, a gobeithio y bydd yn gweithio. 49 00:02:20,010 --> 00:02:22,210 A gallwn dim ond siarad drwyddynt. 50 00:02:22,210 --> 00:02:24,510 A allwch chi guys ofyn cwestiynau pryd bynnag y byddwch yn teimlo - 51 00:02:24,510 --> 00:02:27,890 >> ROB: Felly, mae hyn yn mynd i fod yn beth cyffredin gyda psets mwyaf. 52 00:02:27,890 --> 00:02:31,000 Rwy'n credu gyda hwn, mae'n dweud nad oes rhaid i chi law y cwestiynau hyn mewn 53 00:02:31,000 --> 00:02:36,780 Ond mae'r syniad yw bod y cwestiynau hyn yn cael eu rhoi ar y pset, a gallwch ddod 54 00:02:36,780 --> 00:02:39,790 i adran i gael y cwestiynau eu hateb. 55 00:02:39,790 --> 00:02:42,730 Neu os nad ydych yn dod ag adran, gallwch ateb nhw ar eich pen eich hun neu gael 56 00:02:42,730 --> 00:02:44,250 helpu yn ystod yr oriau swyddfa neu rywbeth. 57 00:02:44,250 --> 00:02:47,540 Ond mae'r rhain yn gwestiynau sydd i fod i prep i chi am y broblem a osodwyd. 58 00:02:47,540 --> 00:02:50,910 Ac ar y rhifyn haciwr, gallai llawer o'r cwestiynau dim ond mater o 59 00:02:50,910 --> 00:02:54,170 ehangu eich gwybodaeth CS ar hyn o bryd. 60 00:02:54,170 --> 00:02:55,370 ALI: Yep, 'n bert lawer. 61 00:02:55,370 --> 00:02:57,950 >> Iawn, felly, mae pawb ar CS50 Mannau? 62 00:02:57,950 --> 00:02:59,457 Hi, yn dod i mewn 63 00:02:59,457 --> 00:03:00,828 SIARADWR 1: A allwn ni weld y URL un mwy o amser? 64 00:03:04,030 --> 00:03:07,000 ROB: Yeah, bydd hyn yn haws unwaith y byddwch mewn gwirionedd yn eich adrannau, ac 65 00:03:07,000 --> 00:03:10,760 dim ond gall eich TF e-bostio i chi ymlaen llaw URL. 66 00:03:10,760 --> 00:03:11,870 ALI: Yay, gymryd sedd. 67 00:03:11,870 --> 00:03:13,170 Mae yna seddi yma. 68 00:03:13,170 --> 00:03:14,420 Nid yw'r blaen yn y drwg. 69 00:03:17,112 --> 00:03:18,362 Beth? 70 00:03:20,650 --> 00:03:23,590 Felly, CS50 Spaces, rydym yn mynd yno. 71 00:03:23,590 --> 00:03:26,760 A oes unrhyw un gennych unrhyw gwestiynau cyn i ni fynd i mewn - beth? 72 00:03:26,760 --> 00:03:28,060 ROB: Does dim hyd yn oed unrhyw sialc. 73 00:03:28,060 --> 00:03:29,270 [Anghlywadwy] 74 00:03:29,270 --> 00:03:31,540 ALI: Mae'n ddrwg gennyf. 75 00:03:31,540 --> 00:03:32,950 Gallech ddefnyddio eich ewinedd? 76 00:03:32,950 --> 00:03:38,210 Rydym mewn ystafell isel iawn-dechnoleg ar gyfer dosbarth uchel iawn-dechnoleg. 77 00:03:38,210 --> 00:03:40,795 Iawn, mae pawb fath o dda? 78 00:03:40,795 --> 00:03:44,310 Oes gan unrhyw un yn dal i gwestiynau am y peth? 79 00:03:44,310 --> 00:03:48,540 Fel y dywedais o'r blaen, rydyn ni'n mynd i fynd drwy'r adran o'r cwestiynau yn 80 00:03:48,540 --> 00:03:51,340 y manylebau pset. 81 00:03:51,340 --> 00:03:53,490 Felly, nid dim ond un neu ddau o broblemau yr ydym yn mynd i 82 00:03:53,490 --> 00:03:57,490 cod i fyny yn CS50 Spaces. 83 00:03:57,490 --> 00:03:58,740 A yw pawb yn dda? 84 00:04:01,010 --> 00:04:01,360 Iawn. 85 00:04:01,360 --> 00:04:02,312 Da? 86 00:04:02,312 --> 00:04:04,260 ROB: A oes gennych gliniadur? 87 00:04:04,260 --> 00:04:05,150 ALI: Gallwch hongian allan gyda Lucas. 88 00:04:05,150 --> 00:04:06,960 Mae'n eistedd i'r dde nesaf i chi. 89 00:04:06,960 --> 00:04:10,030 Amser Bondio. 90 00:04:10,030 --> 00:04:10,990 >> ROB: Felly, yn dechrau gyda'r broblem yn gyntaf? 91 00:04:10,990 --> 00:04:11,260 ALI: Yeah. 92 00:04:11,260 --> 00:04:11,820 Gallwn ddechrau. 93 00:04:11,820 --> 00:04:12,390 Ydych chi eisiau i mi - 94 00:04:12,390 --> 00:04:13,700 Gallaf fynd. 95 00:04:13,700 --> 00:04:16,666 Felly, byddwn yn mynd i'r specs pset. 96 00:04:16,666 --> 00:04:17,640 O, pam ei fod - 97 00:04:17,640 --> 00:04:18,890 ROB: Rheoli. 98 00:04:21,769 --> 00:04:25,770 ALI: Iawn, felly rydym yn mynd i mewn i ateb y pethau hyn hefyd? 99 00:04:25,770 --> 00:04:26,190 ROB: Oh, yeah. 100 00:04:26,190 --> 00:04:27,280 Felly - 101 00:04:27,280 --> 00:04:29,675 ALI: O, oedd pawb gwylio Rob shorts serennu? 102 00:04:32,430 --> 00:04:33,360 Iawn, oer. 103 00:04:33,360 --> 00:04:36,870 ROB: Yeah, nid wyf yn credu ein bod o reidrwydd yn disgwyl i chi gael 104 00:04:36,870 --> 00:04:40,650 wylio cyn dod i'r adran hon, ond gallwn drafod y rheini 105 00:04:40,650 --> 00:04:43,870 problemau ymlaen llaw, gan eu bod o dan yr adran o bethau cwestiynau. 106 00:04:43,870 --> 00:04:46,480 Felly os nad ydych wedi ei wylio, peidiwch â phoeni. 107 00:04:46,480 --> 00:04:48,630 Gall y rheiny sydd wedi ceisio ateb. 108 00:04:48,630 --> 00:04:53,875 >> Felly, y cwestiwn cyntaf, beth yw cyn-brosesydd, sut mae # cynnwys 109 00:04:53,875 --> 00:04:56,080 yn berthnasol? 110 00:04:56,080 --> 00:04:58,440 Felly, oes unrhyw un yn cael ateb i hynny? 111 00:04:58,440 --> 00:04:59,320 ALI: Gallwch guys siarad allan. 112 00:04:59,320 --> 00:05:00,308 Cadarn, mynd yn ei flaen. 113 00:05:00,308 --> 00:05:03,766 SIARADWR 2: # yn cynnwys rhywfaint o cod cyn-ysgrifenedig, ac yn hytrach na 114 00:05:03,766 --> 00:05:08,706 copïo a gludo yn eich rhaglen, drwy ddweud yn cynnwys hynny, 115 00:05:08,706 --> 00:05:14,140 cyn-prosesydd yn gwybod ei fod yno ac y dylai ei ychwanegu yn y 116 00:05:14,140 --> 00:05:17,520 ddiweddarach neu cyn i unrhyw beth arall yn digwydd. 117 00:05:17,520 --> 00:05:18,466 ALI: Yeah, awesome. 118 00:05:18,466 --> 00:05:19,440 Cool. 119 00:05:19,440 --> 00:05:23,820 ROB: Felly pan fyddwch chi'n mewn gwirionedd yn llunio rhaglen, cyn-prosesydd yw hyn 120 00:05:23,820 --> 00:05:25,230 cam cyntaf. 121 00:05:25,230 --> 00:05:27,620 Casgliad yn digwydd mewn pedwar cam mawr. 122 00:05:27,620 --> 00:05:31,120 Felly, y prosesydd cyn-yw'r un mawr cyntaf, ac mae'n y boi sy'n mynd 123 00:05:31,120 --> 00:05:33,510 trwy ac yn edrych ar gyfer pob un o'r symbolau hash. 124 00:05:33,510 --> 00:05:36,610 Ac unrhyw linell sy'n dechrau gyda hash, y prosesydd cyn-edrych arno ac yn gweld 125 00:05:36,610 --> 00:05:37,880 os gellir ei phrosesu. 126 00:05:37,880 --> 00:05:43,800 Felly, # yn cynnwys dweud wrth y cyn-brosesydd i chwilio am rai cs50.h 127 00:05:43,800 --> 00:05:47,830 ffeilio a jyst adysgrifia a bastio 'ei gynnwys yn y ffeil hon. 128 00:05:47,830 --> 00:05:50,970 Felly, gallwch chi wir # yn cynnwys unrhyw beth rydych eisiau, ond mae'n bennaf yn mynd i fod 129 00:05:50,970 --> 00:05:53,700 . Ffeiliau h. 130 00:05:53,700 --> 00:05:55,820 Nid ydym wedi gotten i # diffinio eto, felly nid yw hynny'n bwysig. 131 00:05:55,820 --> 00:05:57,620 ALI: Yeah, rydym yn dda ar y un. 132 00:05:57,620 --> 00:05:59,450 A oes unrhyw un gennych unrhyw gwestiynau am hynny? 133 00:05:59,450 --> 00:06:01,090 Ydyn ni'n dda? 134 00:06:01,090 --> 00:06:02,430 Cwestiwn nesaf. 135 00:06:02,430 --> 00:06:07,096 >> SIARADWR 3: Yn y tymor byr, roedd rhywbeth am c yn ogystal.? 136 00:06:07,096 --> 00:06:09,110 Yw hynny'n berthnasol neu a yw'n amherthnasol? 137 00:06:09,110 --> 00:06:11,210 ROB: Ynglŷn c gyda'r prosesydd cyn-.? 138 00:06:11,210 --> 00:06:13,990 SIARADWR 3: Yeah, neu wnes i wneud rhywbeth i fyny? 139 00:06:13,990 --> 00:06:18,290 ROB: Felly, efallai y tymor byr wedi bod yn dangos cyn-prosesu y ffeil a 140 00:06:18,290 --> 00:06:24,240 . outputting i ffeil arall c, er mwyn i chi rag-brosesu ffeil hon - 141 00:06:24,240 --> 00:06:30,000 wrth i chi redeg fel, yn gwneud helo neu hello.c clang, rydych yn gwneud popeth 142 00:06:30,000 --> 00:06:31,730 llunio mewn un cam mawr. 143 00:06:31,730 --> 00:06:34,780 Ond gallwch ei wneud yn benodol yn ei gamau ar wahân. 144 00:06:34,780 --> 00:06:36,950 Felly, yn gyntaf y gallwch chi ymlaen llaw ei brosesu. 145 00:06:36,950 --> 00:06:42,260 Yna gallwch lunio, yna gallwch gydosod, ac yna gallwch chi gysylltu. 146 00:06:42,260 --> 00:06:43,620 Byddwn yn mynd i'r rhai rhai eraill. 147 00:06:43,620 --> 00:06:47,410 Ond mae cyn-brosesu, byddwch yn fath o broses cyn-, ac yna mae'n mynd i mewn i 148 00:06:47,410 --> 00:06:49,270 arall. ffeil c. 149 00:06:49,270 --> 00:06:51,430 Oherwydd nad yw cyn-brosesu yn wir yn newid unrhyw beth. 150 00:06:51,430 --> 00:06:52,800 Mae'n dim ond bagad o gopi a gludo. 151 00:06:52,800 --> 00:06:56,760 Gallech llaw adysgrifia a bastio 'eich hun. 152 00:06:56,760 --> 00:06:59,630 ALI:. Ac i fod yn glir, y ffeil c yn ffeil C, felly mae'n 153 00:06:59,630 --> 00:07:00,930 hysgrifennu yn C cod. 154 00:07:00,930 --> 00:07:03,300 Felly, mae'n mynd o C i C cod cod. 155 00:07:03,300 --> 00:07:05,210 Rydych yn unig ychwanegu cod mwy gyda'r bunt. 156 00:07:05,210 --> 00:07:08,575 ROB: Pan i chi rag-brosesu, mae'n dal i fod yn ffeil C dilys. 157 00:07:08,575 --> 00:07:09,940 SIARADWR 3: Iawn. 158 00:07:09,940 --> 00:07:10,540 ALI: Cwestiwn da. 159 00:07:10,540 --> 00:07:11,370 Rwy'n hoffi hynny. 160 00:07:11,370 --> 00:07:12,755 Iawn, cwestiwn nesaf. 161 00:07:17,870 --> 00:07:19,660 >> Beth yw'r compiler? 162 00:07:19,660 --> 00:07:20,824 Dylai unrhyw un? 163 00:07:20,824 --> 00:07:21,286 Ydw. 164 00:07:21,286 --> 00:07:24,650 SIARADWR 4: Mae'n newid y cod cyn-prosesu i mewn cynulliad. 165 00:07:24,650 --> 00:07:25,110 ALI: Perfect. 166 00:07:25,110 --> 00:07:25,390 ROB: Ydw. 167 00:07:25,390 --> 00:07:25,720 ALI: Cool. 168 00:07:25,720 --> 00:07:28,270 ROB: Felly dyna beth y casglwr yn ei wneud yn benodol 169 00:07:28,270 --> 00:07:30,740 pan fyddwn yn defnyddio Clang. 170 00:07:30,740 --> 00:07:35,100 Mewn ystyr cyffredinol iawn, casglwr yn union fel gymryd cod mewn un iaith 171 00:07:35,100 --> 00:07:37,070 a throi i mewn iaith arall. 172 00:07:37,070 --> 00:07:38,370 Felly, yn C - 173 00:07:38,370 --> 00:07:43,750 neu, yn dda, Clang yn cymryd cod sy'n yn C a drawsnewid i ymgynnull. 174 00:07:43,750 --> 00:07:46,560 Ac nid oes rhaid i chi fod yn gallu deall y cynulliad o gwbl. 175 00:07:46,560 --> 00:07:49,830 Ond dyna yr iaith ei fod yn troi i mewn. 176 00:07:49,830 --> 00:07:50,230 >> ALI: Iawn. 177 00:07:50,230 --> 00:07:52,920 Ac yna, beth yn cyfosodwr? 178 00:07:52,920 --> 00:07:54,270 Dylai unrhyw un? 179 00:07:54,270 --> 00:07:56,810 SIARADWR 5: [Anghlywadwy] i deuaidd? 180 00:07:56,810 --> 00:07:57,260 ALI: Mae'n ddrwg gennyf, beth? 181 00:07:57,260 --> 00:07:58,760 SIARADWR 5: [Anghlywadwy] i deuaidd? 182 00:07:58,760 --> 00:07:59,260 ROB: Yep. 183 00:07:59,260 --> 00:07:59,880 ALI: Ydw. 184 00:07:59,880 --> 00:08:01,960 ROB: Felly y cyfosodwr - 185 00:08:01,960 --> 00:08:05,830 cynulliad cod yn wir, yn agos iawn at yr hyn y gall eich cyfrifiadur ddeall, 186 00:08:05,830 --> 00:08:09,390 ond cofiwch nad yw'n deall yn iawn y testun 187 00:08:09,390 --> 00:08:10,630 ystyr hynny yw cynulliad. 188 00:08:10,630 --> 00:08:14,570 Mae angen i chi drosi i mewn 1s syth a 0au. 189 00:08:14,570 --> 00:08:17,000 Mae'n debyg i broses gyfieithu uniongyrchol. 190 00:08:17,000 --> 00:08:19,450 Gallai Rydym yn unig yn rhoi i chi tabl sy'n mapiau hyn y mae pob 191 00:08:19,450 --> 00:08:21,880 cyfarwyddyd y Cynulliad yn ei olygu. 192 00:08:21,880 --> 00:08:24,340 Ond mae'r cyfosodwr yn unig yw gwneud y cyfieithiad i chi. 193 00:08:24,340 --> 00:08:28,790 Mae'n trawsnewid y cod cynulliad i 1s a 0au. 194 00:08:28,790 --> 00:08:30,870 >> ALI: Ac yna, ar gyfer yr un olaf, beth a linker? 195 00:08:30,870 --> 00:08:35,070 A sut mae-lcs50 yn berthnasol? 196 00:08:35,070 --> 00:08:37,010 Dylai unrhyw un? 197 00:08:37,010 --> 00:08:41,440 ROB: Mae hwn yw'r anoddaf a lleiaf esboniodd un yn y fideo compiler. 198 00:08:41,440 --> 00:08:48,980 ALI: A oes unrhyw un yn cofio gweld-lcs50 mewn gorchymyn? 199 00:08:48,980 --> 00:08:50,690 SIARADWR 6: Pan fyddwch yn mynd i'r gwneud. 200 00:08:50,690 --> 00:08:51,980 ALI: Mae yn y gwneud. 201 00:08:51,980 --> 00:08:55,780 Yeah, oer, iawn. 202 00:08:55,780 --> 00:09:02,024 A oes unrhyw ddyfalu neu amwys - ie, ewch. 203 00:09:02,024 --> 00:09:06,370 SIARADWR 7: Nid wyf yn sicr, oherwydd bod eich byr yn wir [Anghlywadwy], ond roedd ei 204 00:09:06,370 --> 00:09:12,244 rhywbeth am wneud ffeiliau ar wahân i bob llyfrgell ac yna rhoi 205 00:09:12,244 --> 00:09:13,620 nhw i gyd at ei gilydd mewn un llyfrgell? 206 00:09:13,620 --> 00:09:14,400 ROB: Ydw. 207 00:09:14,400 --> 00:09:23,000 Felly pan fydd gennych hello.c, yn rhaglen syml iawn. 208 00:09:23,000 --> 00:09:25,570 Rydych yn wir dim ond gwneud un peth ynddo. 209 00:09:25,570 --> 00:09:27,400 Ond pan fyddwch yn mynd i mewn i raglenni eraill - 210 00:09:27,400 --> 00:09:31,700 ac yr wyf yn dyfalu hyd yn oed pan fyddwch yn GetString yn eich rhaglenni, mae angen i chi ddechrau 211 00:09:31,700 --> 00:09:33,830 gan gynnwys ffeiliau eraill. 212 00:09:33,830 --> 00:09:38,000 Felly, y llyfrgell CS50 yn un ffeil o'r fath lle y mae gennym y gweithrediadau 213 00:09:38,000 --> 00:09:40,750 o GetString a GetInt a'r holl bethau hynny. 214 00:09:40,750 --> 00:09:45,540 Felly beth yw'r linker yn ei wneud yn yn mynd o gwmpas yn chwilio trwy bob un o'r rhain 215 00:09:45,540 --> 00:09:49,400 ffeil, gweld lle mae swyddogaethau yn cael eu diffinio, gan wneud yn siŵr bod pan fyddaf yn galw 216 00:09:49,400 --> 00:09:52,440 GetString rywle, mae'n gwybod bod GetString yn golygu ei fod yn y 217 00:09:52,440 --> 00:09:54,910 GetString drosodd yn y llyfrgell CS50. 218 00:09:54,910 --> 00:09:58,895 Felly, y linker yn unig yn cymryd yr holl ffeiliau hyn, smashes nhw at ei gilydd, ac yn awr 219 00:09:58,895 --> 00:10:01,020 gennych gweithredadwy. 220 00:10:01,020 --> 00:10:05,600 Felly, yn cadw mewn cof, os ydych chi'n defnyddio'r llyfrgell CS50, bydd angen y 221 00:10:05,600 --> 00:10:10,370 # Cynnwys ar y brig, ac yna hefyd yn eich gorchymyn gwneuthuriad, fel y 222 00:10:10,370 --> 00:10:12,630 Dywedodd, rhaid i chi gael y-lcs50. 223 00:10:12,630 --> 00:10:15,720 Felly, nid ydych yn gallu cael un. 224 00:10:15,720 --> 00:10:18,294 Felly dyna dim ond rhywbeth i gadw mewn cof ar gyfer y dyfodol. 225 00:10:18,294 --> 00:10:22,550 >> SIARADWR 8: Felly, gadewch i ni ddweud nad oedd lyfrgell arall, fel cs51.h fyddai, rydym yn 226 00:10:22,550 --> 00:10:26,780 hefyd yn gorfod ychwanegu-lcs51? 227 00:10:26,780 --> 00:10:32,390 ROB: Yr unig reswm y-lcs50 gweithfa 'n anhyfreg oherwydd ein bod yn cael y set 228 00:10:32,390 --> 00:10:35,800 i fyny mewn man penodol yn eich offer fel ei fod yn gwybod beth 229 00:10:35,800 --> 00:10:38,550 -Lcs50 modd. 230 00:10:38,550 --> 00:10:43,240 Gallai Rydym yn unig yn rhoi i chi ffeil cs50.c, ac yna gallech llunio, gan ddweud 231 00:10:43,240 --> 00:10:49,050 Clang hello.c cs50.c, ac yna byddai'n gwneud eich gweithredadwy drwy roi 232 00:10:49,050 --> 00:10:50,350 y ddwy ffeil gyda'i gilydd. 233 00:10:50,350 --> 00:10:56,520 Mae'n gwybod bod-lcs50 golygu cs50.c dros mewn rhai cyfeiriadur sy'n ein nodir yn 234 00:10:56,520 --> 00:10:58,350 eich offer. 235 00:10:58,350 --> 00:11:04,290 Felly, os ydych eisiau cs51.c i fod yn specifiable drwy ddweud-lcs51, 236 00:11:04,290 --> 00:11:06,760 yna byddai angen i ni hefyd ei gosod yn y cyfeiriadur felly mae'n gwybod ble i 237 00:11:06,760 --> 00:11:08,636 chwilio amdano. 238 00:11:08,636 --> 00:11:10,510 ALI: Beth oedd eich cwestiwn? 239 00:11:10,510 --> 00:11:13,975 >> SIARADWR 7: Pam mae'n rhaid i chi gysylltu'r CS50 240 00:11:13,975 --> 00:11:18,940 os - wasn't ei gopïo / gludo ar y cam cyntaf pan fyddwch yn rhag-brosesu? 241 00:11:18,940 --> 00:11:19,700 ALI: Ydych chi eisiau mynd ag ef? 242 00:11:19,700 --> 00:11:20,880 ROB: Cadarn. 243 00:11:20,880 --> 00:11:28,028 Felly y ffeil cs50.h ar wahân i'r ffeil C cs50.c. 244 00:11:28,028 --> 00:11:33,652 Ydych chi wedi gotten i weithredu prototeipiau yn y dosbarth? 245 00:11:33,652 --> 00:11:34,350 Iawn. 246 00:11:34,350 --> 00:11:40,255 Felly y bôn, y ffeil cs50.h yn unig yn mynd i gopïo a gludo - 247 00:11:40,255 --> 00:11:44,040 ALI: Ydych chi'n guys gwybod beth llofnodion? 248 00:11:44,040 --> 00:11:46,580 Iawn, felly 'n bert lawer, os edrychwch ar - 249 00:11:46,580 --> 00:11:50,530 ROB: Nid yw Gadewch i esgus cs50.h yno. 250 00:11:50,530 --> 00:11:52,960 Nawr ffeil hon - 251 00:11:52,960 --> 00:11:56,090 rydych chi'n ei wneud llinyn s = GetString. 252 00:11:56,090 --> 00:11:59,350 Ond pan fyddwn wedi gotten at y pwynt hwn yn y cod, nid oes ganddo syniad beth 253 00:11:59,350 --> 00:12:00,230 GetString yn. 254 00:12:00,230 --> 00:12:02,600 Mae'n gwybod ei fod yn swyddogaeth, ers i chi yn ei alw yn. 255 00:12:02,600 --> 00:12:06,500 Ond nid yw'n gwybod ei fod yn fod mewn gwirionedd i ddychwelyd llinyn. 256 00:12:06,500 --> 00:12:14,530 Felly, fel y dywedais, llinyn s = GetInt, nid yw hyn yn gwneud unrhyw synnwyr, gan fod 257 00:12:14,530 --> 00:12:17,530 ydych yn arwyddo cyfanrif i linyn. 258 00:12:17,530 --> 00:12:22,270 Ond nid yw'n gwybod bod GetString yn gwneud synnwyr, oherwydd nad yw'n 259 00:12:22,270 --> 00:12:24,380 gwybod bod GetString yn dychwelyd llinyn. 260 00:12:24,380 --> 00:12:28,220 Felly beth cs50.h yn dweud rhywbeth fel hyn. 261 00:12:33,070 --> 00:12:37,750 ALI: Felly beth Rob yn teipio yw, mae'n addewid mewn ffordd y mae'n mynd i 262 00:12:37,750 --> 00:12:41,280 cael y swyddogaeth a elwir yn GetString. 263 00:12:41,280 --> 00:12:45,250 ROB: Mae hyn i gyd y cs50.h yn copïo a gludo i mewn yma, yn ogystal 264 00:12:45,250 --> 00:12:47,620 fel GetInt a'r holl bethau hynny. 265 00:12:47,620 --> 00:12:51,520 Ac mae hyn dim ond yn dweud bod GetString yn dychwelyd llinyn. 266 00:12:51,520 --> 00:12:54,830 Dydych chi ddim yn gwybod sut mae'n cael ei weithredu eto, ond pan fyddwn yn cyrraedd y llinell hon, sydd bellach yn 267 00:12:54,830 --> 00:12:57,760 yn gwybod ei fod yn gywir yn dychwelyd llinyn. 268 00:12:57,760 --> 00:13:03,022 >> SIARADWR 9: Felly, os nad ydym yn trafferthu gyda'r peth # cynnwys ac yn hytrach 269 00:13:03,022 --> 00:13:07,130 newydd ei ysgrifennu yn brototeip ar gyfer y rhai yr ydym mewn gwirionedd yn mynd i'w ddefnyddio? 270 00:13:07,130 --> 00:13:07,330 ROB: Yeah. 271 00:13:07,330 --> 00:13:08,870 Felly, gadewch i ni redeg hyn. 272 00:13:08,870 --> 00:13:09,110 SIARADWR 9: A yw'n? 273 00:13:09,110 --> 00:13:13,670 Felly, yn ddiofyn, byddai'n gwneud y l-i CS50 dim ond oherwydd -. 274 00:13:13,670 --> 00:13:14,740 ROB: - mynegiant. 275 00:13:14,740 --> 00:13:19,370 ALI: Ie, oherwydd fel y dywedasoch, 'i' yn y ffeil wneuthuriad. 276 00:13:19,370 --> 00:13:24,040 ROB: cs50.h hefyd yn digwydd bod * typedef torgoch i llinyn. 277 00:13:24,040 --> 00:13:26,950 Gallwch llwyr anwybyddu beth mae hynny'n ei olygu ar hyn o bryd. 278 00:13:26,950 --> 00:13:31,430 Ond hefyd yn rhywbeth a gynhwysir yn cs50.h. 279 00:13:31,430 --> 00:13:34,230 Felly nawr pethau'n gweithio'n berffaith iawn. 280 00:13:34,230 --> 00:13:40,770 Mae'n rhedeg yn union yr un fath ag yr oedd pan rydym yn unig wedi 281 00:13:40,770 --> 00:13:45,120 y # gynnwys. 282 00:13:45,120 --> 00:13:49,200 Ac felly, gan gynnwys cs50.h yn digwydd i dros-yn cynnwys pethau rydych ei angen - 283 00:13:49,200 --> 00:13:53,080 fel, nad ydych yn defnyddio'r GetInt yn y rhaglen hon, ond does dim ots. 284 00:13:53,080 --> 00:13:55,010 Bydd yn ei hanwybyddu. 285 00:13:55,010 --> 00:14:02,400 ALI: Ac yna pan fyddwch yn gwneud y-lcs50 dros yma ac i'r dde yma, beth sy'n mynd 286 00:14:02,400 --> 00:14:05,290 arno yw ei fod yn cael y cod implementable gwirioneddol. 287 00:14:05,290 --> 00:14:07,530 Felly dyna lle mae hynny'n wirioneddol yw, gwneud yr - 288 00:14:07,530 --> 00:14:09,090 ysgrifennu'r cod ar gyfer GetString. 289 00:14:09,090 --> 00:14:11,180 Felly, nid dim ond addewid anymore. 290 00:14:11,180 --> 00:14:16,520 Mae'n mewn gwirionedd yn mynd trwy ac yn cymryd y llinyn a'r holl bethau. 291 00:14:16,520 --> 00:14:17,600 Gwneud synnwyr? 292 00:14:17,600 --> 00:14:22,640 Cwestiynau? Mae pob hawl. 293 00:14:22,640 --> 00:14:24,466 Ffa Cool. 294 00:14:24,466 --> 00:14:27,630 >> ROB: Nawr gallwn symud ymlaen i cod gwirioneddol. 295 00:14:27,630 --> 00:14:28,780 ALI: Iawn. 296 00:14:28,780 --> 00:14:33,340 Felly dyma yw'r broblem yn gyntaf. 297 00:14:33,340 --> 00:14:36,910 Felly, mae'n dweud ysgrifennu rhaglen sy'n annog y defnyddiwr ar gyfer llythrennau bach 298 00:14:36,910 --> 00:14:40,540 llythyr ac yna yn trosi i priflythyren heb ddefnyddio bitwise 299 00:14:40,540 --> 00:14:43,590 gweithrediadau, yn unol â'r allbwn sampl isod. 300 00:14:43,590 --> 00:14:48,780 Felly gallwch weld, rydych yn rhedeg y rhaglen gyda'r. / A.out, ac yna rydych chi'n 301 00:14:48,780 --> 00:14:53,320 mynd i roi mewn llythrennau bach a, ac yna dylai eich rhaglen yn rhoi allan gyfalaf 302 00:14:53,320 --> 00:15:00,590 A. Felly pam na wnewch chi guys i gyd yn rhoi cynnig arni ar CS50 Mannau? 303 00:15:00,590 --> 00:15:03,360 Felly, gallwch chi guys i gyd yn mynd yma. 304 00:15:03,360 --> 00:15:06,650 A allwch chi ddileu yr holl cod yn y fan hon. 305 00:15:06,650 --> 00:15:12,140 Ac yna gallwch fynd ymlaen a dechrau codio y peth. 306 00:15:12,140 --> 00:15:14,590 ROB: Mae'n debyg y byddwch am ddefnyddio GetChar, dyna 307 00:15:14,590 --> 00:15:16,190 gynnwys yn y llyfrgell CS50. 308 00:15:16,190 --> 00:15:18,770 ALI: Amcana efallai y byddai'n well os ydych yn achub y rhan uchaf. 309 00:15:21,452 --> 00:15:23,805 Felly, efallai y byddwch am jyst newid y pethau yn y canol. 310 00:15:28,710 --> 00:15:29,070 Mynd yn ei flaen ac yn gweithio. 311 00:15:29,070 --> 00:15:30,530 Teimlwch yn rhydd i weithio gyda'i gilydd. 312 00:15:30,530 --> 00:15:32,360 ROB: A allwch chi ofyn cwestiynau os oes gennych chi - 313 00:15:32,360 --> 00:15:33,450 >> SIARADWR 10: Beth yw llawdriniaeth bitwise? 314 00:15:33,450 --> 00:15:35,100 ROB: Felly, yn anwybyddu hynny am y broblem hon. 315 00:15:35,100 --> 00:15:36,330 ALI: Os nad ydych yn ei wybod, sy'n dda. 316 00:15:36,330 --> 00:15:38,300 ROB: Rydym yn mynd i ddefnyddio yn y broblem nesaf. 317 00:15:38,300 --> 00:15:40,750 Ond os nad ydych yn gwybod beth yw gweithredwr bitwise yw, mae hynny'n iawn. 318 00:15:40,750 --> 00:15:43,575 SIARADWR 10: A yw bod fel ei droi er mwyn cod ASCII? 319 00:15:43,575 --> 00:15:44,050 ALI: Na 320 00:15:44,050 --> 00:15:44,750 ROB: Na 321 00:15:44,750 --> 00:15:46,220 Gallwch wneud hynny am y broblem hon. 322 00:15:46,220 --> 00:15:48,280 SIARADWR 10: Sut ydych chi'n gwneud hynny? 323 00:15:48,280 --> 00:15:52,460 Felly, os mai dim ond gen i rywle i ysgrifennu - 324 00:15:52,460 --> 00:15:54,670 ALI: Neu rywbeth i ysgrifennu. 325 00:15:54,670 --> 00:15:56,780 ROB: gallwn unig fath o fath i mewn i hyn. 326 00:15:56,780 --> 00:15:59,045 ALI: Math ar y brig. 327 00:15:59,045 --> 00:16:01,390 ROB: O, rwy'n eistedd ar meic. 328 00:16:01,390 --> 00:16:10,860 >> Felly, rydym yn gweld mewn darlith bod y gwerth ASCII ar gyfer cyfalaf A yn 65 oed. 329 00:16:10,860 --> 00:16:13,670 A bydd cyfalaf B yn 66, ac yn y blaen. 330 00:16:13,670 --> 00:16:20,860 Fel y gallwch llythrennol ddefnyddio 'A' i olygu y rhif 65. 331 00:16:20,860 --> 00:16:24,600 Fel, dyma werth 65. 332 00:16:24,600 --> 00:16:30,950 Gallaf ei wneud rhywbeth fel int x = 100 - 'A'. Ac yn awr y bydd x yn cael y gwerth 333 00:16:30,950 --> 00:16:33,810 100-65. 334 00:16:33,810 --> 00:16:36,708 ALI: Gallwch redeg hynny a dangos hynny. 335 00:16:36,708 --> 00:16:38,420 O ddim, efallai. 336 00:16:38,420 --> 00:16:38,600 Peidiwch byth â meddwl. 337 00:16:38,600 --> 00:16:40,970 ROB: Bu'n rhaid i mi ei argraffu. 338 00:16:40,970 --> 00:16:43,730 SIARADWR 10: Sut ydych chi'n ei droi yn ôl i gymeriad? 339 00:16:43,730 --> 00:16:46,800 ALI: Felly, os ydych yn peidiwch - 340 00:16:46,800 --> 00:16:51,450 'ch jyst ei orfodi i fod yn Mae torgoch, yn hafal i. 341 00:16:51,450 --> 00:16:53,630 ROB: Felly mae - 342 00:16:53,630 --> 00:16:58,440 y gwahaniaeth rhwng golosg a cyfanrif yn unig o ran maint. 343 00:16:58,440 --> 00:17:01,230 Felly cyfanrif digwydd i fod yn gallu cynrychioli pethau i fyny 344 00:17:01,230 --> 00:17:02,600 i, fel, bedwar biliwn. 345 00:17:02,600 --> 00:17:05,839 Mae torgoch yn unig yn gallu cynrychioli pethau hyd at 255. 346 00:17:05,839 --> 00:17:08,390 Ond nid oes unrhyw wahaniaeth rhyngddynt eraill na hyn. 347 00:17:08,390 --> 00:17:12,339 Felly, gallwch ddweud torgoch c = 65. 348 00:17:12,339 --> 00:17:24,204 Mae hynny'n cyfateb i ddweud c golosg yn hafal i 'A'. 349 00:17:24,204 --> 00:17:25,210 ALI: O, na. 350 00:17:25,210 --> 00:17:26,710 Nid yw'n mewn gwirionedd yn arbed pethau. 351 00:17:26,710 --> 00:17:28,130 ROB: Na, ni allwch wneud hynny. 352 00:17:28,130 --> 00:17:31,610 ALI: Dyna yn unig - 353 00:17:31,610 --> 00:17:34,920 [Griddfan] 354 00:17:34,920 --> 00:17:40,700 >> ROB: Iawn, felly beth Ali newydd ei ysgrifennu yn rhaglen sef y ddogfen gyntaf argraffu 100 - 355 00:17:40,700 --> 00:17:46,290 'A' fel cyfanrif, a oedd yn 35, fel yr ydym yn ei ddisgwyl, gan fod 100 minws y ASCII 356 00:17:46,290 --> 00:17:48,580 gwerth A yn 65 oed. 357 00:17:48,580 --> 00:17:54,100 Yna mae hi'n eu hargraffu gan ddefnyddio%, c sy'n golygu ei ddehongli fel torgoch. 358 00:17:54,100 --> 00:17:57,050 Felly, 100 - a yw 35. 359 00:17:57,050 --> 00:18:00,990 Dehongli hynny fel cymeriad yn digwydd i fod yn symbol hash. 360 00:18:00,990 --> 00:18:06,160 Os ydych yn edrych ar asciitable.com neu beth bynnag, byddwch yn gweld bod 35 yw'r 361 00:18:06,160 --> 00:18:07,410 symbol hash. 362 00:18:09,940 --> 00:18:12,700 ALI: Iawn, unrhyw eglurhad arall am y broblem? 363 00:18:16,000 --> 00:18:18,180 Iawn, gallwch chi guys mynd yn ei flaen ac yn ei wneud hynny. 364 00:18:18,180 --> 00:18:20,330 Teimlwch yn rhydd i ofyn cwestiynau neu siarad â'i gilydd. 365 00:18:20,330 --> 00:18:24,390 Neu os ydych chi'n ei wneud yn barod, gallwch ymlacio. 366 00:18:24,390 --> 00:18:29,640 >> LUCAS: Ydyn nhw yr un dosbarth, yr holl lythrennau bach mewn trefn ac 367 00:18:29,640 --> 00:18:32,923 hefyd priflythyren hefyd mewn trefn, oherwydd dyna rhywbeth defnyddiol ar gyfer 368 00:18:32,923 --> 00:18:33,990 y broblem. 369 00:18:33,990 --> 00:18:35,620 ALI: pwynt da, Lucas. 370 00:18:35,620 --> 00:18:37,430 Felly, wnaethoch chi guys i gyd yn cael hynny? 371 00:18:37,430 --> 00:18:37,640 SIARADWR 11: Ydy. 372 00:18:37,640 --> 00:18:39,535 Dyna sut yr ydych yn ei wneud, dde? 373 00:18:39,535 --> 00:18:39,960 ALI: Iawn. 374 00:18:39,960 --> 00:18:40,415 ROB: Yeah. 375 00:18:40,415 --> 00:18:47,270 SIARADWR 11: [Anghlywadwy] 376 00:18:47,270 --> 00:18:48,330 ALI: pob hawl. 377 00:18:48,330 --> 00:18:49,350 ROB: Beth yw'r cwestiwn yn gofyn? 378 00:18:49,350 --> 00:18:50,590 Dim ond i drosi - 379 00:18:50,590 --> 00:18:52,560 ALI: Trosi y llythrennau bach i'r priflythyren. 380 00:18:52,560 --> 00:18:53,100 Dyna ni. 381 00:18:53,100 --> 00:18:54,700 ROB: Iawn. 382 00:18:54,700 --> 00:18:56,180 ALI: A ddylem ni ei ysgrifennu? 383 00:18:56,180 --> 00:18:59,340 Amcana y byddwn yn edrych ar rywun arall. 384 00:18:59,340 --> 00:19:07,140 ROB: Felly, ar gyfer rhai a allai fod yn sownd, ffordd - 385 00:19:07,140 --> 00:19:15,160 os oes gen i rai c golosg, a gadewch i ni ddweud ei fod yn digwydd i fod yn y llythyr D. 386 00:19:15,160 --> 00:19:20,760 Felly, nawr sut y gallaf chyfrif i maes pa lythyr yr wyddor C yw? 387 00:19:20,760 --> 00:19:25,620 Ddim yn D, ond yr wyf yn golygu, D digwydd i fod yn y llythyr pedwerydd y wyddor. 388 00:19:25,620 --> 00:19:28,910 Ac os ydym yn dechrau cyfrif o 0, yna ei fod yn y llythyr o dair o'r wyddor. 389 00:19:28,910 --> 00:19:36,240 Felly, os yw A 0, B yw 1, C yw 2, D yw 3, sut alla i chyfrif i maes sefyllfa int - 390 00:19:36,240 --> 00:19:40,780 yr hyn y swydd y C wyddor yn? 391 00:19:40,780 --> 00:19:42,333 A oes unrhyw un gennych unrhyw syniadau? 392 00:19:42,333 --> 00:19:45,440 ALI: Rwy'n credu eu bod nhw i gyd yn codio. 393 00:19:45,440 --> 00:19:46,440 ROB: Beth am yr un cyntaf? 394 00:19:46,440 --> 00:19:48,608 SIARADWR 12: Felly, beth bynnag A yw, tynnwch yr un cyntaf? 395 00:19:48,608 --> 00:19:49,030 ROB: Yeah. 396 00:19:49,030 --> 00:19:49,950 ALI: Yeah, awesome. 397 00:19:49,950 --> 00:19:51,765 Felly, gallech wneud cyfalaf D - 398 00:19:51,765 --> 00:19:52,840 oh, sori. 399 00:19:52,840 --> 00:19:55,620 Rydych yn cymryd y cymeriad a rydych chi'n tynnu'ch yr un cyntaf, fel y dywedasoch. 400 00:19:55,620 --> 00:20:03,940 ROB: Felly, os yw D yn rhywbeth fel 68, ac rydym yn tynnu A, sy'n 65 oed, yna rydym yn cael 401 00:20:03,940 --> 00:20:07,130 3, yn dweud wrthym fod D yn y llythyr o dair o'r wyddor 402 00:20:07,130 --> 00:20:09,290 dechrau o 0. 403 00:20:09,290 --> 00:20:11,310 Felly, gallwch ddefnyddio hynny. 404 00:20:11,310 --> 00:20:13,830 Nawr rydym yn gwybod beth llythyren o'r wyddor, o ran 405 00:20:13,830 --> 00:20:16,060 priflythrennau, neu - 406 00:20:16,060 --> 00:20:18,330 gallem wneud yr un peth i lythrennau bach i chyfrif i maes beth 407 00:20:18,330 --> 00:20:20,170 lythrennau bach sefyllfa rydym yn ynddo 408 00:20:20,170 --> 00:20:25,690 A gallwn ddefnyddio hynny wedyn i drosi bod i priflythyren defnyddio 409 00:20:25,690 --> 00:20:26,970 syniad yn debyg iawn. 410 00:20:31,470 --> 00:20:32,670 Gofynnwch am awgrymiadau? 411 00:20:32,670 --> 00:20:35,810 >> ALI: Ydych chi'n guys - aros, nid wyf yn gwybod pa mor bell ydych yn guys. 412 00:20:35,810 --> 00:20:40,060 Ydych rhan fwyaf ohonoch wneud, a ydych yn dal i weithio, a ydych yn sownd? 413 00:20:40,060 --> 00:20:42,020 Gallwch guys weiddi allan - 414 00:20:42,020 --> 00:20:42,330 yn sownd. 415 00:20:42,330 --> 00:20:43,210 Mae un person yn sownd. 416 00:20:43,210 --> 00:20:43,560 Cool. 417 00:20:43,560 --> 00:20:44,700 Dwi'n tueddu i fod yn gaeth, hefyd. 418 00:20:44,700 --> 00:20:45,415 SIARADWR 13: dwi'n ei wneud. 419 00:20:45,415 --> 00:20:46,410 ALI: Rydych yn ei wneud? 420 00:20:46,410 --> 00:20:47,480 Iawn. 421 00:20:47,480 --> 00:20:47,935 Done. 422 00:20:47,935 --> 00:20:49,300 SIARADWR 13: [Anghlywadwy] 423 00:20:49,300 --> 00:20:50,600 ALI: Yeah, oer. 424 00:20:50,600 --> 00:20:53,720 A ydych yn gwirio ei fod ar ffurf llythrennau bach? 425 00:20:53,720 --> 00:20:56,730 Iawn, oer. 426 00:20:56,730 --> 00:20:59,882 Ble mae'r bobl eraill? 427 00:20:59,882 --> 00:21:06,140 A wnaeth hyn awgrym helpu chi, fel ar gyfer heb ei ludo eich hun? 428 00:21:06,140 --> 00:21:09,778 SIARADWR 14: Ddim mewn gwirionedd, ond dim ond oherwydd, nid wyf yn gwybod, dydw i ddim 429 00:21:09,778 --> 00:21:11,590 ei dreulio eto. 430 00:21:11,590 --> 00:21:12,640 ALI: Iawn, oer. 431 00:21:12,640 --> 00:21:13,431 Ydych chi am roi cynnig ar - 432 00:21:13,431 --> 00:21:16,140 neu a ydych am fynd a siarad? 433 00:21:16,140 --> 00:21:18,590 >> ROB: Yr hyn yr wyf yn mynd i ddweud yw - 434 00:21:18,590 --> 00:21:19,890 felly ddefnyddio hyn. 435 00:21:19,890 --> 00:21:22,650 Ydych chi'n deall sut y cawsom ein beth yw safbwynt y wyddor 436 00:21:22,650 --> 00:21:24,820 y llythyr yn? 437 00:21:24,820 --> 00:21:30,616 SIARADWR 14: Iawn, felly pan fyddwch yn rhoi pethau yn dyfyniad sengl, 438 00:21:30,616 --> 00:21:35,030 sy'n dychwelyd nifer? 439 00:21:35,030 --> 00:21:37,100 ROB: Ydw. 440 00:21:37,100 --> 00:21:40,840 Bydd yn cael ei gyfieithu i'r gwerth ASCII mae'n ei gynrychioli. 441 00:21:40,840 --> 00:21:43,350 Felly, ydych chi eisiau mynd at y tabl ASCII neu beth bynnag ydyw? 442 00:21:46,456 --> 00:21:47,840 ALI: Dim ond un o'r rhain? 443 00:21:47,840 --> 00:21:49,970 ROB: Yep. 444 00:21:49,970 --> 00:21:55,270 Felly, pan fyddwch yn rhoi unrhyw un o'r symbolau hyn, gan anwybyddu llawer o'r - 445 00:21:55,270 --> 00:21:56,450 ALI: [Anghlywadwy] 446 00:21:56,450 --> 00:21:57,620 ROB: O, gan ddefnyddio'r cyrchwr. 447 00:21:57,620 --> 00:21:58,380 ALI: Yeah. 448 00:21:58,380 --> 00:21:59,690 Dyna oedd gyffrous. 449 00:21:59,690 --> 00:22:04,050 ROB: Felly, gan anwybyddu hyn rhai ar y chwith, sydd yn symbolau arbennig - 450 00:22:04,050 --> 00:22:08,520 os byddwch yn rhoi unrhyw un o'r symbolau hyn mewn dyfynodau sengl, yna bydd yn 451 00:22:08,520 --> 00:22:11,620 cyfieithu i'r gwerth hwn ar y chwith. 452 00:22:11,620 --> 00:22:13,660 ALI: Dyma'r rhif degol ar ei gyfer. 453 00:22:13,660 --> 00:22:19,710 Mae'n debyg i gemau gyda 65, B i 66, a byddwch yn sylwi eu bod nhw i gyd yn 454 00:22:19,710 --> 00:22:21,540 trefn yr wyddor, sy'n gwneud gwahaniaeth. 455 00:22:21,540 --> 00:22:27,110 Felly, fel y dywed Rob, cyn, yn y cod, rydym yn cyfrifo pellter oddi wrth 456 00:22:27,110 --> 00:22:29,610 y llythyr cyntaf, fel y cyfryw. 457 00:22:29,610 --> 00:22:32,820 A dyna fydd yr un fath, boed yn priflythyren neu llythrennau bach. 458 00:22:32,820 --> 00:22:38,390 ROB: Felly, pan wnaethom D, 68 minws A 65,, rydym yn cael 3. 459 00:22:38,390 --> 00:22:42,370 Gan fod D yn dair swydd yn y wyddor. 460 00:22:42,370 --> 00:22:46,680 ALI: Felly, yna sut fyddech chi'n cyfieithu hynny drosodd i ddod o hyd i'r d bach? 461 00:22:46,680 --> 00:22:47,240 ROB: Yeah. 462 00:22:47,240 --> 00:22:52,230 Felly os gen i 3 awr, yr wyf yn gwybod fy mod i eisiau mynd i mewn i dri llythyr y - 463 00:22:52,230 --> 00:22:54,830 rydym yn digwydd bod yn mynd llythrennau bach yn awr, ond gadewch i ni ddweud fy mod eisiau mynd 3 464 00:22:54,830 --> 00:22:58,610 swyddi i mewn i ochr lythrennau bach o bethau. 465 00:22:58,610 --> 00:23:01,400 Felly, sut y gallaf wneud hynny? 466 00:23:01,400 --> 00:23:04,240 Yr wyf yn gwybod lythrennau bach a yw 97. 467 00:23:04,240 --> 00:23:07,535 Felly, sut ydw i'n dod o hyd tair swydd i lythrennau bach? 468 00:23:10,461 --> 00:23:11,934 >> SIARADWR 15: Mae gennyf un cwestiwn mewn gwirionedd. 469 00:23:11,934 --> 00:23:12,425 ALI: Yeah, mynd yn ei flaen. 470 00:23:12,425 --> 00:23:14,880 SIARADWR 15: Felly, ar gyfer hyn, nid oes ots os wyf yn gwybod y sefyllfa hon, 471 00:23:14,880 --> 00:23:16,360 hoffi, nid oes angen y tabl hwn. 472 00:23:16,360 --> 00:23:16,840 ROB: Na. 473 00:23:16,840 --> 00:23:19,380 Ni fydd angen i chi ddefnyddio unrhyw un o'r rhifau hyn. 474 00:23:19,380 --> 00:23:23,670 Ac mae hyn yn bwynt pwysig yn eich rhaglenni na dylech caled 475 00:23:23,670 --> 00:23:25,500 cod unrhyw un o'r cysonion. 476 00:23:25,500 --> 00:23:31,190 Defnyddiwch 'A'. byth yn defnyddio 65 neu 97. 477 00:23:31,190 --> 00:23:34,370 ALI: Mae'r rhai yn cael eu galw'n rhifau hud, ac maent yn wirioneddol ddryslyd. 478 00:23:34,370 --> 00:23:37,080 Fel, pan fyddwch yn debugging cod, efallai na fyddwch yn cofio beth 479 00:23:37,080 --> 00:23:38,020 rydych yn eu defnyddio ar gyfer. 480 00:23:38,020 --> 00:23:40,770 Ac i ni graddio eich cod, ni fyddwn yn wir yn gwybod beth 481 00:23:40,770 --> 00:23:41,750 ydych yn ei ddefnyddio ar eu cyfer. 482 00:23:41,750 --> 00:23:44,815 Felly, mae'n well os ydych mewn gwirionedd yn defnyddio'r cymeriadau felly mae'n gwneud 483 00:23:44,815 --> 00:23:46,065 mwy o synnwyr i bobl. 484 00:23:49,460 --> 00:23:51,160 Iawn, unrhyw gwestiynau eraill? 485 00:23:51,160 --> 00:23:52,975 A yw mwy o bobl yn ei wneud, neu - 486 00:23:56,243 --> 00:23:57,493 Amcana i ni allu gwirio. 487 00:23:59,870 --> 00:24:02,410 Mae'n wirioneddol creepy y gallwch weld cod pobl. 488 00:24:02,410 --> 00:24:04,970 ROB: Yeah. 489 00:24:04,970 --> 00:24:06,410 Nid ydym yn rhaid i chi wneud hynny yma. 490 00:24:06,410 --> 00:24:08,380 Nid ydym yn gwybod enwau pobl, naill ai. 491 00:24:08,380 --> 00:24:10,940 ALI: Oh yeah, wel sy'n ei gwneud yn well, felly byddwn yn hyd yn oed yn fwy ddiduedd 492 00:24:10,940 --> 00:24:14,820 hytrach na dim ond ar hap dewis rhywun. 493 00:24:14,820 --> 00:24:15,360 Peidiwch â phoeni. 494 00:24:15,360 --> 00:24:16,265 Ni fyddaf yn gwneud hynny. 495 00:24:16,265 --> 00:24:20,396 Os oes gennych bethau ar hap am - byth yn meddwl. 496 00:24:20,396 --> 00:24:20,870 Iawn. 497 00:24:20,870 --> 00:24:22,556 Sut mae pobl yn ei wneud? 498 00:24:22,556 --> 00:24:26,950 >> SIARADWR 17: Felly dylai seithfed linell argraffu cymeriad? 499 00:24:26,950 --> 00:24:27,430 ROB: Ydw. 500 00:24:27,430 --> 00:24:27,910 ALI: Yeah. 501 00:24:27,910 --> 00:24:30,770 Felly, os ydych yn mynd i lawr - 502 00:24:30,770 --> 00:24:32,200 ROB: O na, yn gallu gwneud hynny. 503 00:24:32,200 --> 00:24:35,400 ALI: Byddwch yn gweld bod ei argraffu y symbol hash. 504 00:24:35,400 --> 00:24:37,180 SIARADWR 17: O, iawn. 505 00:24:37,180 --> 00:24:41,290 ROB: Amcana ffordd arall y gallwch chi edrych ar bethau yw ein bod yn argraffu 2 506 00:24:41,290 --> 00:24:42,540 cymeriadau. 507 00:24:44,500 --> 00:24:47,740 Un cyntaf rydym yn argraffu yn y llythyr A. 508 00:24:47,740 --> 00:24:51,610 Mae'r un nesaf rydym yn argraffu yn unig 65. 509 00:24:51,610 --> 00:24:54,450 Bydd yn debyg gweiddi arna i am y rhain. 510 00:24:54,450 --> 00:25:00,060 Felly, os ydym yn unig yn rhedeg hyn, byddwch yn sylwi ei fod yn brintiau Mae gwaith yn y ddau. 511 00:25:00,060 --> 00:25:02,070 Oherwydd ein bod yn gofyn iddo yr un peth. 512 00:25:02,070 --> 00:25:07,840 Rydym yn gofyn i argraffu'r llythyr A. Ac yna rydym yn gofyn iddo i argraffu'r 513 00:25:07,840 --> 00:25:13,820 rhif 65 ddehongli fel cymeriad, sef yr un peth. 514 00:25:13,820 --> 00:25:15,100 ALI: A oes gennych rywbeth i'w ddweud? 515 00:25:15,100 --> 00:25:18,150 O, dim ond ei dwyllo, sori. 516 00:25:18,150 --> 00:25:20,640 Mae pob hawl, sut y mae pobl - 517 00:25:20,640 --> 00:25:22,280 ROB: allwn gerdded trwyddo. 518 00:25:22,280 --> 00:25:25,250 >> ALI: Iawn, felly sut ydych chi'n dechrau? 519 00:25:25,250 --> 00:25:26,500 Dylai unrhyw un? 520 00:25:28,030 --> 00:25:34,486 Fel awgrym, mae'n rhaid i ni gael rhywbeth oddi wrth y bobl, o'r typers. 521 00:25:34,486 --> 00:25:36,850 SIARADWR 18: [Anghlywadwy] 522 00:25:36,850 --> 00:25:38,290 ALI: Oh yeah, prydlon, perffaith. 523 00:25:38,290 --> 00:25:40,660 Felly, byddwn yn teipio - 524 00:25:40,660 --> 00:25:41,670 beth rydym yn teipio? 525 00:25:41,670 --> 00:25:43,660 Dylai unrhyw un? 526 00:25:43,660 --> 00:25:46,480 Dylai Neu Fi jyst deipio? 527 00:25:46,480 --> 00:25:47,530 A ydym mewn gwirionedd yn teipio 'r - 528 00:25:47,530 --> 00:25:48,430 ROB: Cadarn. 529 00:25:48,430 --> 00:25:50,990 ALI: Felly byddwn deipio printf i annog, felly gallwn fod yn 530 00:25:50,990 --> 00:25:54,810 fel, yn rhoi i mi cymeriad. 531 00:25:54,810 --> 00:25:55,710 Iawn, ac yna beth? 532 00:25:55,710 --> 00:25:56,664 Pam y mae'n gwneud hynny? 533 00:25:56,664 --> 00:25:57,620 ROB: Nid wyf yn gwybod. 534 00:25:57,620 --> 00:26:00,070 ALI: Iawn. 535 00:26:00,070 --> 00:26:03,680 Felly nawr, rydym yn dweud wrthynt i roi i ni cymeriad. 536 00:26:03,680 --> 00:26:07,064 Ond yna sut yr ydych mewn gwirionedd yn cael y cymeriad? 537 00:26:07,064 --> 00:26:10,060 SIARADWR 19: GetString Defnyddio. 538 00:26:10,060 --> 00:26:12,040 ALI: GetString? 539 00:26:12,040 --> 00:26:12,850 GetChar? 540 00:26:12,850 --> 00:26:17,038 Iawn, felly beth yw'r gwahaniaeth rhwng llinyn a golosg? 541 00:26:17,038 --> 00:26:20,020 SIARADWR 19: Llinynnau yn gyfres, fel amrywiaeth o gymeriadau. 542 00:26:20,020 --> 00:26:21,910 >> ALI: Cool, yeah. 543 00:26:21,910 --> 00:26:25,550 Felly, yn y broblem, dim ond angen i ni ystyried un cymeriad ar y tro, felly 544 00:26:25,550 --> 00:26:28,400 rydym yn unig yn mynd i wneud GetChar gyfer yr achos hwnnw. 545 00:26:28,400 --> 00:26:32,400 ROB: Gallem gweithredu swyddogaeth os oeddem am fod yn cymryd llinyn cyfan 546 00:26:32,400 --> 00:26:35,750 ac a aeth dros y llinyn a newid yr holl lythrennau bach i priflythyren a phob 547 00:26:35,750 --> 00:26:37,380 priflythyren i lythrennau bach. 548 00:26:37,380 --> 00:26:39,170 Ond yma, ni jyst yn gofyn i chi am un cymeriad. 549 00:26:39,170 --> 00:26:42,800 ALI: Felly, yn awr mae gennym y cymeriad yma, ond yna mae angen i ni achub. 550 00:26:42,800 --> 00:26:45,070 Felly, yna byddwn yn ychwanegu c golosg - beth? 551 00:26:45,070 --> 00:26:46,070 SIARADWR 20: Diffinio y newidyn. 552 00:26:46,070 --> 00:26:48,100 ALI: Yeah, yn union. 553 00:26:48,100 --> 00:26:49,585 Felly, rydym wedi ein cymeriad. 554 00:26:49,585 --> 00:26:51,766 ROB: Rwy'n credu y gallech fod - 555 00:26:51,766 --> 00:26:55,630 eich bod chi ond tri gofod i mewn, a dyna pam ei fod yn gweiddi ar chi. 556 00:26:55,630 --> 00:27:01,300 >> ALI: Iawn, oer, yn awr ein bod wedi tabbing set, beth sy'n digwydd nesaf? 557 00:27:01,300 --> 00:27:02,550 Beth yw'r cam nesaf? 558 00:27:05,590 --> 00:27:08,870 ROB: Beth ddylai ein rhaglen ei wneud yw newid llythyr llythrennau bach i 559 00:27:08,870 --> 00:27:10,130 priflythyren llythyr. 560 00:27:10,130 --> 00:27:15,478 Beth os wyf yn digwydd i fynd i mewn i'r symbol stwnsh? 561 00:27:15,478 --> 00:27:16,314 A yw bod - 562 00:27:16,314 --> 00:27:16,732 ALI: Mae'n symbol da. 563 00:27:16,732 --> 00:27:18,270 Rydym yn ei ddefnyddio llawer. 564 00:27:18,270 --> 00:27:21,937 ROB: A yw y gall rhywbeth dilys i drosi i ffurf priflythyren? 565 00:27:21,937 --> 00:27:23,070 SIARADWR 21: Rhif 566 00:27:23,070 --> 00:27:24,070 ALI: Na 567 00:27:24,070 --> 00:27:24,900 Dylem wirio hynny. 568 00:27:24,900 --> 00:27:34,950 Felly, gallwn gael os datganiad gwirio hynny os yw'r c yn fwy na 569 00:27:34,950 --> 00:27:37,410 neu'n hafal i a'y llythrennau bach '- 570 00:27:37,410 --> 00:27:45,490 felly os ydym yn edrych ar y siart, byddwch yn sylwi bod yn rhaid iddi fod rhwng y fan hon, 571 00:27:45,490 --> 00:27:47,670 yn 97, a'r a llythrennau bach. 572 00:27:47,670 --> 00:27:52,110 A gall fod yn unrhyw un o'r rhain, ac mewn darnau yr holl ffordd i lawr. 573 00:27:52,110 --> 00:27:55,200 Ac yna mae z yn 122. 574 00:27:55,200 --> 00:27:58,215 Ac mae'n rhaid iddo syrthio rhwng y ddau werth. 575 00:27:58,215 --> 00:27:59,700 Ydy hynny'n gwneud synnwyr? 576 00:27:59,700 --> 00:28:04,130 ROB: Felly, os nad c yw rhwng 97 a 122 - 577 00:28:04,130 --> 00:28:09,960 neu Ni ddylid byth angen i chi ddefnyddio niferoedd hynny - os nad c yw rhwng 'a' a 578 00:28:09,960 --> 00:28:15,110 'Z,' yna nid oedd yn nod dilys i ni priflythyren. 579 00:28:15,110 --> 00:28:18,590 ALI: Felly, ar ffurf cod, rydym yn dweud os c yn fwy na neu'n hafal i un 580 00:28:18,590 --> 00:28:19,640 llythrennau bach achos - 581 00:28:19,640 --> 00:28:21,270 wow, sut wnaethoch chi ddweud hynny? 582 00:28:21,270 --> 00:28:26,900 Iawn, yn fwy na neu'n hafal i llythrennau bach 'a', ac mae'n rhaid iddo fod yn uwch na'r 583 00:28:26,900 --> 00:28:32,250 'z.' y llythrennau bach Felly, mae'n rhaid iddo fod yn llai na neu'n hafal i lythrennau bach 'z'. 584 00:28:32,250 --> 00:28:35,300 Rydym yn gwneud yn siwr ei fod rhwng y ddau. 585 00:28:35,300 --> 00:28:38,540 Yna gallwn barhau ar gyda ein cod yn hapus. 586 00:28:41,992 --> 00:28:43,360 Beth? 587 00:28:43,360 --> 00:28:46,860 ROB: Felly yr wyf yn cyfrifedig y byddai rydym yn unig yn dal i ofyn, os ydym yn digwydd i beidio cael 588 00:28:46,860 --> 00:28:48,250 lythrennau bach llythyr. 589 00:28:48,250 --> 00:28:51,130 ALI: O, nid oeddwn yn ymwybodol o hynny. 590 00:28:51,130 --> 00:28:52,820 Mae'n ddrwg gennym. 591 00:28:52,820 --> 00:28:58,100 >> Iawn, felly os ydym yn mynd i wneud fel Rob yn dweud, ac yn gwneud yn siŵr bod - 592 00:28:58,100 --> 00:29:02,068 gallwn gadw ofyn iddynt, yna beth ddylem ei wneud? 593 00:29:02,068 --> 00:29:02,994 SIARADWR 22: [Anghlywadwy] 594 00:29:02,994 --> 00:29:03,530 ROB: Yeah. 595 00:29:03,530 --> 00:29:05,630 Dylem ddefnyddio rhyw fath o ddolen. 596 00:29:05,630 --> 00:29:12,900 Oherwydd y gall y defnyddiwr fynd i mewn rhywbeth annilys swm aruthrol o weithiau. 597 00:29:12,900 --> 00:29:14,990 Felly, gallwch ddefnyddio dolen gyfnod. 598 00:29:14,990 --> 00:29:18,870 Pwrpas dolen do-tra - 599 00:29:18,870 --> 00:29:21,340 llythrennol, yr unig adeg yn eich bywyd cyfan y bydd ydych chi erioed wedi defnyddio ei wneud- 600 00:29:21,340 --> 00:29:24,780 tra dolenni yw pan fyddwch yn gofyn am fewnbwn defnyddiwr. 601 00:29:24,780 --> 00:29:28,260 Felly, mae'r ffaith ein bod yn gofyn am fewnbwn defnyddiwr yma yw awgrym y dylem 602 00:29:28,260 --> 00:29:29,660 ddefnyddio dolen do-gyfnod. 603 00:29:29,660 --> 00:29:30,780 A pham hynny? 604 00:29:30,780 --> 00:29:34,270 Oherwydd ei wneud-tra dolen bob amser yn digwydd o leiaf unwaith. 605 00:29:34,270 --> 00:29:40,260 Felly, pan fyddwch yn gofyn am fewnbwn y defnyddiwr, rydych am i hynny ddigwydd o leiaf unwaith. 606 00:29:40,260 --> 00:29:42,750 Ac yna os bydd pethau'n yn llwyddiannus, gallwch gadw i fynd. 607 00:29:42,750 --> 00:29:45,130 Os na, ewch yn ôl a gofyn eto. 608 00:29:45,130 --> 00:29:48,950 >> ALI: Felly, mewn geiriau eraill, mae'n rhaid i ni wneud adran. 609 00:29:48,950 --> 00:29:51,130 Ac felly mae hyn yn dweud iddo wneud rhywbeth. 610 00:29:51,130 --> 00:29:53,890 Felly printf - 611 00:29:53,890 --> 00:29:57,490 argraffu'r datganiad, y brydlon, ac i gael y cymeriad, neu geisio 612 00:29:57,490 --> 00:29:58,780 cael cymeriad. 613 00:29:58,780 --> 00:30:03,410 Ac yna mae'n rhaid i ni wirio os yw'n mewn gwirionedd yn gwneud hynny yn gywir. 614 00:30:03,410 --> 00:30:07,730 Felly, yna rydym yn ychwanegu'r amodau, yna rydym yn dweud ychydig, ac yna mae gennym y 615 00:30:07,730 --> 00:30:08,980 datganiad amodol. 616 00:30:11,600 --> 00:30:14,730 ROB: Ond erbyn hyn rydym wedi gwrthdroi y meddylfryd. 617 00:30:14,730 --> 00:30:18,940 Nawr rydym yn wreiddiol yn dweud os c mewn amrediad hwn, ei fod yn ddilys. 618 00:30:18,940 --> 00:30:23,340 Nawr rydym am i wrthdroi'r hynny a dweud os nad c yn ystod hon, yna rydym yn 619 00:30:23,340 --> 00:30:25,020 angen i gefnogi i wneud pethau eto. 620 00:30:25,020 --> 00:30:25,900 ALI: Oh, yeah. 621 00:30:25,900 --> 00:30:31,720 ROB: Felly, er nad yw hyn yn wir, rydym yn awyddus i fynd yn ôl a 622 00:30:31,720 --> 00:30:34,470 gofyn am cymeriad arall. 623 00:30:34,470 --> 00:30:36,880 Ydy pawb yn gweld hynny? 624 00:30:36,880 --> 00:30:38,830 Cwestiynau ar hyn? 625 00:30:38,830 --> 00:30:39,400 Iawn. 626 00:30:39,400 --> 00:30:43,480 >> Felly, yn awr mae gennym nod dilys y gallwn priflythyren. 627 00:30:43,480 --> 00:30:47,150 ALI: Felly, yna beth yw'r cam nesaf ar gyfer uppercasing hyn? 628 00:30:49,994 --> 00:30:51,890 SIARADWR 23: Ychwanegu 32. 629 00:30:51,890 --> 00:30:52,600 ALI: Gallwch ychwanegu - 630 00:30:52,600 --> 00:30:54,150 ddrwg gennym, beth? 631 00:30:54,150 --> 00:30:56,580 SIARADWR 23: Methu 'ch jyst yn ychwanegu 32? 632 00:30:56,580 --> 00:31:02,360 ROB: Felly ie, o ran niferoedd hud. 633 00:31:02,360 --> 00:31:04,610 Dylech ond defnyddio'r un dyfynbris stwff. 634 00:31:04,610 --> 00:31:06,450 SIARADWR 23: Iawn, wel - 635 00:31:06,450 --> 00:31:07,250 ROB: Ond gallwch gael 32 - 636 00:31:07,250 --> 00:31:11,870 ALI: Sut wnaethoch chi gael y rhif 32, mae'n debyg, yw'r hyn yr ydym yn ei ddweud. 637 00:31:11,870 --> 00:31:18,060 SIARADWR 23: [Anghlywadwy] 638 00:31:18,060 --> 00:31:22,158 ROB: Felly, gallwn ddod o hyd i'r rhif 32 ynghyd - 639 00:31:22,158 --> 00:31:24,468 SIARADWR 23: [Anghlywadwy]? 640 00:31:24,468 --> 00:31:24,930 ROB: Yeah. 641 00:31:24,930 --> 00:31:28,540 Ond os ydym yn mynd i wneud hynny yn y ddau gam a wnaethom o'r blaen gyda 642 00:31:28,540 --> 00:31:29,950 y stwff sefyllfa. 643 00:31:29,950 --> 00:31:36,910 Felly, y sefyllfa yn y wyddor sydd c digwydd bod yn c minws llythrennau bach 644 00:31:36,910 --> 00:31:42,360 'A'. Felly, os ydym yn mynd i mewn llythrennau bach 'd', sefyllfa yn mynd i fod yn 3. 645 00:31:42,360 --> 00:31:46,490 Ac yn awr rydym am fynd â phethau i'r ystod priflythyren o bethau. 646 00:31:46,490 --> 00:31:55,376 Felly, yn awr ein c newydd yn mynd i fod yn brifddinas 'A' swydd a mwy. 647 00:31:55,376 --> 00:32:00,090 Felly, mae pobl yn gweld sut mae hynny'n dod â ni - 648 00:32:00,090 --> 00:32:04,140 rydym yn symud o'r ystod llythrennau bach, y dyfnder yn union yr ydym yn i mewn i hynny 649 00:32:04,140 --> 00:32:07,650 amrywiaeth, ac yn mynd i lawr i'r ystod priflythyren, ac yn mynd cyn belled â hynny 650 00:32:07,650 --> 00:32:10,610 i mewn iddo eto, sydd yn mynd i fod yr un cymeriad, ond erbyn hyn 651 00:32:10,610 --> 00:32:12,550 uppercased. 652 00:32:12,550 --> 00:32:16,490 ALI: Ac am y bobl a gafodd eu drysu gan sut y mae newydd ei ddweud 32, 653 00:32:16,490 --> 00:32:20,390 yn y bôn oedd cyfuno y ddau o'r rhain mewn un datganiad. 654 00:32:20,390 --> 00:32:24,550 Felly, yn ffordd sy'n cyfateb i ysgrifennu hwn i ddweud eich bod yn gallu unig fath o 655 00:32:24,550 --> 00:32:28,190 sefyllfa lle, bysell arwydd minws c 'a,' a'i roi yn iawn yma. 656 00:32:28,190 --> 00:32:31,330 Felly, yr hyn a wnaeth, yr wyf peidiwch - 657 00:32:31,330 --> 00:32:44,510 torgoch newc = priflythyren 'A' plws c minws lythrennau bach 'a'. Ac oherwydd algebra, 658 00:32:44,510 --> 00:32:47,090 gallwch chi symud o gwmpas. 659 00:32:47,090 --> 00:32:52,960 Gallwch hefyd ddweud eich bod yn gallu symud o gwmpas fel torgoch newc = priflythyren 'A' 660 00:32:52,960 --> 00:32:55,620 minws lythrennau bach 'a' plws c. 661 00:32:55,620 --> 00:32:58,650 Ac mae hyn, byddwch yn sylwi os ydym yn mynd yn ôl at y siart. 662 00:33:01,160 --> 00:33:06,300 Rydym wedi priflythyren A yn 65 oed ac yn llythrennau bach a yw 97. 663 00:33:06,300 --> 00:33:09,800 Felly 65-97 yn -32. 664 00:33:09,800 --> 00:33:10,020 >> Hi. 665 00:33:10,020 --> 00:33:10,930 Cymerwch sedd. 666 00:33:10,930 --> 00:33:12,180 Oh. 667 00:33:16,240 --> 00:33:17,980 Gallwch eistedd i'r dde yma. 668 00:33:17,980 --> 00:33:20,805 Cool, iawn, awesome. 669 00:33:20,805 --> 00:33:22,390 Croeso i adran. 670 00:33:22,390 --> 00:33:25,110 Byddwch yn sylwi bod y gwahaniaeth yw 32. 671 00:33:25,110 --> 00:33:28,150 Felly, dyna lle cafodd y rhif hwnnw. 672 00:33:28,150 --> 00:33:32,140 Ond nid yw, fel y dywed Rob, y ffordd orau o wneud hynny, oherwydd ei fod wedi y rhyfedd 673 00:33:32,140 --> 00:33:35,260 dryswch rhif hud. 674 00:33:35,260 --> 00:33:38,710 ROB: Dylech ddefnyddio cyfalaf A minws lythrennau bach a. 675 00:33:38,710 --> 00:33:43,045 Ni ddylech ddefnyddio dim ond yn syth 32. 676 00:33:43,045 --> 00:33:45,020 SIARADWR 24: Pam hynny, unwaith eto? 677 00:33:45,020 --> 00:33:49,860 Pam na fyddwch yn defnyddio 32? 678 00:33:49,860 --> 00:33:55,630 ALI: Os ydym yn gwneud hynny, byddai'n torgoch newc = -32 + c. 679 00:33:55,630 --> 00:34:00,030 Ac os nad ydych yn gweld unrhyw un o'r gweddill ohono, os yw hyn yn mynd i gyd, ac rydych yn 680 00:34:00,030 --> 00:34:04,720 ond yn gweld y llinell hon sengl, yna sut ydych chi'n gwybod beth y 32 negyddol yw? 681 00:34:04,720 --> 00:34:07,000 'I' jyst allan o le. 682 00:34:07,000 --> 00:34:10,360 ROB: Felly byddai eich rhaglen yn gweithio mewn ffordd hollol iawn. 683 00:34:10,360 --> 00:34:12,960 Mae'n dim ond beth arddull. 684 00:34:12,960 --> 00:34:17,760 Rhywun yn mynd i mewn a darllen eich cod, maen nhw'n debyg beth mae 32 yn ei olygu? 685 00:34:17,760 --> 00:34:18,889 Efallai eu bod yn peidiwch - 686 00:34:18,889 --> 00:34:22,090 Mae'n debyg na fyddai yn sylweddoli ar unwaith bod 32 yn digwydd bod yn 687 00:34:22,090 --> 00:34:25,100 gwahaniaeth rhwng llythrennau bach llythyr a llythyr priflythyren, er bod 688 00:34:25,100 --> 00:34:26,510 rydym yn mynd i ddefnyddio y ffaith yn y broblem nesaf. 689 00:34:30,210 --> 00:34:31,610 32 yw - 690 00:34:31,610 --> 00:34:38,579 gallech adael sylw uchod yn dweud 32 yw y gwahaniaeth rhwng 691 00:34:38,579 --> 00:34:45,290 'A' a 'a.' Ond ar y pwynt hwnnw, pam na dim ond defnyddio 'A' a 'a', ac rydych yn 692 00:34:45,290 --> 00:34:47,469 nid oes angen y sylw yna. 693 00:34:47,469 --> 00:34:52,739 >> ALI: Dim ond y ffyrdd uchod yn, llawer glanach arddull-doeth. 694 00:34:52,739 --> 00:34:54,590 Ac felly, gan eich bod newydd ddechrau rhaglennu - 695 00:34:54,590 --> 00:34:57,775 neu os nad wyf yn dyfalu, ers i chi yn EDI haciwr - byth yn meddwl. 696 00:34:57,775 --> 00:34:59,420 'I' jyst yn ffordd da i gael - 697 00:34:59,420 --> 00:35:01,230 mae'n well i gael arddull well. 698 00:35:01,230 --> 00:35:02,850 Mae'n haws i bobl eraill ei ddarllen. 699 00:35:02,850 --> 00:35:06,560 ROB: Ni ddylid byth angen i chi gofio y tabl ASCII, erioed. 700 00:35:06,560 --> 00:35:09,505 Dylech dim ond yn gallu defnyddio'r cymeriadau dyfyniad sengl. 701 00:35:12,390 --> 00:35:12,730 Cwestiynau? 702 00:35:12,730 --> 00:35:13,980 ALI: Mae pawb yn dda? 703 00:35:16,020 --> 00:35:16,430 ROB: Iawn. 704 00:35:16,430 --> 00:35:23,320 Felly, y broblem nesaf yn sylweddol. 705 00:35:23,320 --> 00:35:24,660 Felly, y broblem nesaf yn gofyn i ni - 706 00:35:27,880 --> 00:35:31,570 ALI: Y broblem nesaf yn gofyn i ni wneud yr un peth, ond i ddefnyddio 707 00:35:31,570 --> 00:35:32,640 gweithredwyr bitwise. 708 00:35:32,640 --> 00:35:35,170 ROB: Ac, wrth gwrs, nid ydym wedi gweld gweithredwyr bitwise eto. 709 00:35:35,170 --> 00:35:38,874 Felly, byddwn yn awr yn trafod y rheiny. 710 00:35:38,874 --> 00:35:39,540 ALI: Byddwch yn gyffrous. 711 00:35:39,540 --> 00:35:41,490 Maent yn hwyl super. 712 00:35:41,490 --> 00:35:47,927 >> ROB: Felly y gweithredwyr rheolaidd, fel x plws y, minws, amseroedd, rhaniad. 713 00:35:47,927 --> 00:35:50,850 ALI: Teipiwch yn y brydlon. 714 00:35:50,850 --> 00:35:55,420 ROB: Mae yna hefyd%, os nad ydych wedi ei weld, y gallwch ei ddefnyddio gan y 715 00:35:55,420 --> 00:35:57,130 y cant symbol. 716 00:35:57,130 --> 00:35:59,090 Ond ni fyddwn yn defnyddio rhai ar gyfer y broblem hon. 717 00:35:59,090 --> 00:36:01,400 Rydym eisiau defnyddio gweithredwyr bitwise. 718 00:36:01,400 --> 00:36:06,250 Nawr cofiwch, rydym yn dod i fyny mewn darlith un. 719 00:36:06,250 --> 00:36:10,760 Dwi ddim yn siŵr os ydym wedi trafod deuaidd y tu hwnt i hynny. 720 00:36:10,760 --> 00:36:13,710 Ond cofiwch fod pob un rhif yn cael ei gynrychioli - 721 00:36:13,710 --> 00:36:14,540 yn dda, popeth - 722 00:36:14,540 --> 00:36:17,860 yn cael ei gynrychioli mewn 1s a 0au yn deuaidd. 723 00:36:17,860 --> 00:36:27,320 Felly mae hynny'n golygu bod pan fyddaf yn dweud y rhif 8, yr wyf yn digwydd gwybod fod hyn yn 724 00:36:27,320 --> 00:36:30,240 fel, 1000. 725 00:36:30,240 --> 00:36:35,530 Pa gweithredwyr bitwise gadewch i ni ei wneud yw gweithredu ar y darnau - 726 00:36:35,530 --> 00:36:37,000 yn cael ei gweithredu ar y darnau yn uniongyrchol. 727 00:36:40,160 --> 00:36:42,490 Nawr rwy'n bellach yn delio mewn nhermau o wyth. 728 00:36:42,490 --> 00:36:45,930 Rwy'n delio mewn nhermau o 1000, ac yr wyf am wneud pethau gyda'r rhai 729 00:36:45,930 --> 00:36:47,670 darnau unigol. 730 00:36:47,670 --> 00:36:52,520 Felly, Ali wedi ysgrifennu y gweithredwyr bitwise yma, ond that's - 731 00:36:55,060 --> 00:36:58,020 Mae'r rhif 8 byddwn yn eu defnyddio fel un o'n rhifau enghraifft. 732 00:36:58,020 --> 00:37:02,980 Ac mae'r gynrychiolaeth binary yn 1000. 733 00:37:02,980 --> 00:37:06,520 Byddwn yn defnyddio rhif arall, 5 - 734 00:37:06,520 --> 00:37:12,070 mewn gwirionedd gadewch i ni ddefnyddio 9 a 5. 735 00:37:12,070 --> 00:37:15,778 A chynrychiolaeth deuaidd y 5 yw 00 - 736 00:37:15,778 --> 00:37:18,380 0101. 737 00:37:18,380 --> 00:37:19,480 ALI: A yw pawb yn dda ar hynny? 738 00:37:19,480 --> 00:37:21,040 Y pethau deuaidd? 739 00:37:21,040 --> 00:37:23,740 Roedd gan y ddarlith gyntaf? 740 00:37:23,740 --> 00:37:29,070 >> ROB: Felly hyd yn oed os nad ydych yn gyfan gwbl ar ben o sut i drawsnewid pethau i'w 741 00:37:29,070 --> 00:37:31,700 deuaidd, nid yw hynny'n hollol bwysig am y broblem hon. 742 00:37:31,700 --> 00:37:36,560 Byddwn yn ei ddefnyddio, ond byddwch yn cael llawer o gyfleoedd mwy i chyfrif i maes sut i 743 00:37:36,560 --> 00:37:39,250 yn gyflym troi i mewn i bethau deuaidd. 744 00:37:39,250 --> 00:37:43,820 Felly, gan ddefnyddio 9 a 5, erbyn hyn rydym wedi ein gweithredwyr bitwise. 745 00:37:43,820 --> 00:37:48,620 O, a hefyd, 9 a 5, os yw'n cyfanrif, yna mewn gwirionedd mae'n 32 catiau, 746 00:37:48,620 --> 00:37:53,150 sy'n golygu bod gennym fel 0, 0, 0, 0 llawer o weithiau, yna 747 00:37:53,150 --> 00:37:55,330 101 ar y diwedd un. 748 00:37:55,330 --> 00:37:58,530 Dyna dim ond oherwydd, ni waeth beth ydych yn ei wneud, mewn cyfanrifau, 32 did. 749 00:37:58,530 --> 00:38:01,570 Nid yw'r ffaith mai dim ond angen pedwar darnau i gynrychioli 9 yn golygu nad ydym yn 750 00:38:01,570 --> 00:38:05,500 defnyddio hyd y 27 arall darnau am ddim ond 0au. 751 00:38:05,500 --> 00:38:10,110 ALI: I egluro, un o'r rhifau hyn mae hynny'n 0 neu 1 yn ychydig. 752 00:38:10,110 --> 00:38:11,830 Mae hyn yn un yw 4 ddarnau. 753 00:38:11,830 --> 00:38:14,320 Fel felly Rob dywedodd bod peiriannau eu storio mewn 32. 754 00:38:14,320 --> 00:38:19,430 Felly, yna byddai ganddynt 32 o naill ai 0 neu 1. 755 00:38:19,430 --> 00:38:22,190 Cool? 756 00:38:22,190 --> 00:38:23,610 ROB: Mae'r gweithredwyr bitwise. 757 00:38:23,610 --> 00:38:27,310 Mae'r un cyntaf y byddwn yn delio â, gadewch i ni wneud a. 758 00:38:27,310 --> 00:38:31,260 Felly, os ydym yn ei wneud 9 a 5. 759 00:38:31,260 --> 00:38:38,310 Felly, beth a ei wneud yw, fesul tipyn, mae'n cymharu â'r darnau o'r ddau rif 760 00:38:38,310 --> 00:38:44,860 ac os yw'r ddau o'r niferoedd yn 1, yna bydd yn dychwelyd 1. 761 00:38:44,860 --> 00:38:50,870 Os bydd un yn 0 a mae'r llall yn 1, neu ddau yn 0au, yna mae'n dychwelyd 0. 762 00:38:50,870 --> 00:38:53,060 Felly, gallwch chi feddwl amdano fel eich rhesymegol a Rhaglenni. 763 00:38:53,060 --> 00:38:59,270 Fel ei angen arnoch yn wir ac yn wir i ddychwelyd yn wir, ond yn wir ac yn ffug yn ffug. 764 00:38:59,270 --> 00:39:02,390 Felly mae'n yr un peth, ond erbyn hyn rydym yn delio ag ef gyda dim ond darnau. 765 00:39:02,390 --> 00:39:04,910 >> ALI: Felly, os ydych yn edrych ar hyn, bydd gennych 1 - 766 00:39:04,910 --> 00:39:08,490 byddwch yn llinell i fyny, felly bydd yn 1 a 0. 767 00:39:08,490 --> 00:39:11,036 Ydych chi'n guys meddwl y byddai hynny - beth fyddai hynny'n ei gwerthuso er mwyn? 768 00:39:11,036 --> 00:39:11,770 SIARADWR 25: 1. 769 00:39:11,770 --> 00:39:12,270 ALI: Cool. 770 00:39:12,270 --> 00:39:16,850 Neu ddim. 771 00:39:16,850 --> 00:39:18,830 Mae'n ddrwg gennym. 772 00:39:18,830 --> 00:39:21,290 Felly, mae hynny'n gwneud synnwyr? 773 00:39:21,290 --> 00:39:23,200 Felly beth yw'r ateb ar y cyd unwaith eto? 774 00:39:23,200 --> 00:39:24,750 Mae'n ddrwg gennym. 775 00:39:24,750 --> 00:39:27,530 Felly, os oes gennym 1 a 0, yna beth fyddwch chi'n ei gael? 776 00:39:27,530 --> 00:39:30,260 ROB: Felly rydych yn meddwl am sut y gallwch ddweud ac yn uchel. 777 00:39:30,260 --> 00:39:37,550 Os oes gennych ddau darnau, x ac y, mae angen x ac y i fod yn 1 er mwyn iddo 778 00:39:37,550 --> 00:39:40,770 i werthuso yn wir - neu, er mwyn i werthuso i 1. 779 00:39:40,770 --> 00:39:45,650 Os yw x neu y yn 0, yna mae'n gwerthuso i ffug neu 0. 780 00:39:45,650 --> 00:39:49,165 LUCAS: Mae'n dda cofio hefyd bod 1 yn wir a 0 yn ffug. 781 00:39:49,165 --> 00:39:51,684 Felly, os oes gennych wir a ffug, mae'n ffug. 782 00:39:51,684 --> 00:39:53,570 Ond yna, yn wir yn wir ac, yn wir. 783 00:39:53,570 --> 00:39:55,040 Ffug a ffug, ffug. 784 00:39:55,040 --> 00:39:57,650 ALI: Mae gennym gwir a ffug. 785 00:39:57,650 --> 00:39:58,530 Felly, 1 a 0. 786 00:39:58,530 --> 00:40:00,380 Felly, yna eto, ddrwg gennym, un mwy o amser? 787 00:40:00,380 --> 00:40:02,210 SIARADWR 25: Byddai'n fod yn 0. 788 00:40:02,210 --> 00:40:03,560 Yeah, oer. 789 00:40:03,560 --> 00:40:05,400 Ac yna mae gennym 0 & 1 - 790 00:40:05,400 --> 00:40:06,260 SIARADWR 25: [Anghlywadwy] 791 00:40:06,260 --> 00:40:06,680 ALI: Yeah. 792 00:40:06,680 --> 00:40:09,790 Felly, gallwch chi bob amser eu cyfnewid mewn - 793 00:40:09,790 --> 00:40:12,150 Yna, os oes gennych 0 a 0? 794 00:40:12,150 --> 00:40:12,618 SIARADWR 4: 1? 795 00:40:12,618 --> 00:40:14,490 0? 796 00:40:14,490 --> 00:40:16,230 ROB: Felly mae'n 0. 797 00:40:16,230 --> 00:40:18,870 Dyw hi ddim yn bod niferoedd rhaid i chi fod yr un fath. 798 00:40:18,870 --> 00:40:22,030 Mae'n bod y ddau rhifau mae angen i fod yn 1. 799 00:40:22,030 --> 00:40:26,150 ALI: Felly rhaid i'r ddau fod yn wir am ei fod yn wir. 800 00:40:26,150 --> 00:40:26,950 Felly dyna 0. 801 00:40:26,950 --> 00:40:30,540 Ac yna mae gennych 1% 1, sy'n? 802 00:40:30,540 --> 00:40:32,640 ROB: Mae'r rhain yn niferoedd eithaf da. 803 00:40:32,640 --> 00:40:34,362 Maent i gyd wedi bosib - 804 00:40:34,362 --> 00:40:36,210 ALI: Mae gwaith da, wow. 805 00:40:36,210 --> 00:40:37,080 Iawn, oer. 806 00:40:37,080 --> 00:40:39,220 Felly, mae hynny'n gwneud synnwyr i bawb? 807 00:40:39,220 --> 00:40:41,770 >> ROB: Felly nawr byddwn yn gwneud |. 808 00:40:41,770 --> 00:40:51,650 Ac mae hyn yn mynd i fod yn debyg iawn, ond erbyn hyn yn hytrach na x ac y mae angen i 809 00:40:51,650 --> 00:40:54,880 fod yn 1 er mwyn i werthuso i un, yn awr mai dim ond x neu 810 00:40:54,880 --> 00:40:56,360 y mae angen i fod yn 1. 811 00:40:56,360 --> 00:40:59,580 ALI: Felly 1 | 0 enrhifo i - 812 00:40:59,580 --> 00:41:00,270 DOSBARTH: 1. 813 00:41:00,270 --> 00:41:01,690 ALI: Cool. 814 00:41:01,690 --> 00:41:03,710 0 | 1 enrhifo i - 815 00:41:03,710 --> 00:41:04,420 DOSBARTH: 1. 816 00:41:04,420 --> 00:41:06,726 ALI: Cool, ac yna 0 | 0 - 817 00:41:06,726 --> 00:41:07,600 DOSBARTH: 0. 818 00:41:07,600 --> 00:41:09,320 ALI: Yeah, ac yna 1 | 1 - 819 00:41:09,320 --> 00:41:10,180 DOSBARTH: 1. 820 00:41:10,180 --> 00:41:12,090 ALI: Cool. 821 00:41:12,090 --> 00:41:14,060 Felly dyna fel dwy gweithredwyr bitwise. 822 00:41:14,060 --> 00:41:15,430 Awesome. 823 00:41:15,430 --> 00:41:16,440 ROB: Felly nawr byddwn yn gwneud ^. 824 00:41:16,440 --> 00:41:18,470 ALI: A ddylem wneud pob un ohonynt? 825 00:41:18,470 --> 00:41:20,620 ROB: Yeah, oherwydd fy mod yn credu ein bod ni'n mynd i ddefnyddio - 826 00:41:20,620 --> 00:41:22,340 defnyddio pob un ohonynt. 827 00:41:22,340 --> 00:41:23,150 ALI: Iawn. 828 00:41:23,150 --> 00:41:23,570 Felly - 829 00:41:23,570 --> 00:41:25,540 ROB: mae'n debyg nad oes angen i ni. 830 00:41:25,540 --> 00:41:31,830 ALI: Felly ^ gwaith yn y mae'n rhaid i chi gael yn union yr un gwir ac un ffug. 831 00:41:31,830 --> 00:41:34,330 ^ Yn golygu unigryw OR. 832 00:41:34,330 --> 00:41:36,650 Felly, yn awr nid yw'n - 833 00:41:36,650 --> 00:41:41,220 os yw x ac y ill dau 1, mae'n awr yn ffug. 834 00:41:41,220 --> 00:41:46,920 Dyna'r gwahaniaeth rhwng ^ a |, yw bod NEU, gallwch ei gael, os yw x 835 00:41:46,920 --> 00:41:49,440 yn wir neu y yn wir, yna ein bod ni'n dda. 836 00:41:49,440 --> 00:41:55,176 Na, dweud os ^ x yn wir, mae'n rhaid i fod yn y ffug, neu fel arall nid yw'n wir. 837 00:41:55,176 --> 00:41:56,814 Oes gennych chi gwestiwn? 838 00:41:56,814 --> 00:42:00,526 >> SIARADWR 26: [Anghlywadwy] 839 00:42:00,526 --> 00:42:00,990 ALI: Yeah. 840 00:42:00,990 --> 00:42:01,830 Mae'n fath o debyg. 841 00:42:01,830 --> 00:42:07,320 ROB: Yeah, felly pan fyddwch yn cyrraedd y pethau caledwedd lefel isel, mae'r rhain yn 842 00:42:07,320 --> 00:42:10,870 y mathau o weithrediadau eich bod yn delio â hwy. 843 00:42:10,870 --> 00:42:13,200 Ar y lefel caledwedd, byddwch ond yn delio â darnau. 844 00:42:13,200 --> 00:42:14,950 Nid ydych yn ymdrin â rhifau. 845 00:42:18,030 --> 00:42:23,502 ALI: Iawn, ar gyfer ^, neu os ydych wedi 1 ^ 0, beth ddylai fod gwerthuso er mwyn? 846 00:42:23,502 --> 00:42:24,840 DOSBARTH: 1. 847 00:42:24,840 --> 00:42:25,480 ALI: Cool. 848 00:42:25,480 --> 00:42:26,010 Os oes gennych 849 00:42:26,010 --> 00:42:28,370 0 ^ 1? DOSBARTH: 1. 850 00:42:28,370 --> 00:42:29,490 ALI: Cool. 851 00:42:29,490 --> 00:42:32,050 0 ^ 0? 852 00:42:32,050 --> 00:42:32,470 Cool. 853 00:42:32,470 --> 00:42:33,460 Ac yna 1 ^ 1? 854 00:42:33,460 --> 00:42:35,050 DOSBARTH: 0. 855 00:42:35,050 --> 00:42:37,710 ALI: Cool, awesome. 856 00:42:37,710 --> 00:42:38,620 Mae'r un nesaf - 857 00:42:38,620 --> 00:42:40,520 ROB: Yr wyf yn meddwl y rhain i gyd mae'n rhaid i ni ddelio â nhw. 858 00:42:40,520 --> 00:42:41,490 Byddwn ond yn gwneud hyn. 859 00:42:41,490 --> 00:42:43,242 ALI: Yr unig adeg y bydd rhaid i ni ei wneud - 860 00:42:43,242 --> 00:42:44,912 ROB: O, dyna fydd ar gyfer y broblem olaf. 861 00:42:44,912 --> 00:42:47,070 SIARADWR 27: Arhoswch, unwaith eto? 862 00:42:47,070 --> 00:42:47,940 ALI: Mae'n ddrwg gennyf, beth oedd eich cwestiwn? 863 00:42:47,940 --> 00:42:49,564 >> SIARADWR 27: A allwch egluro hynny unwaith eto? 864 00:42:49,564 --> 00:42:50,100 Y ^? 865 00:42:50,100 --> 00:42:51,490 SIARADWR 27: Exclus - yeah. 866 00:42:51,490 --> 00:42:55,800 ALI: Felly beth yw'r yn unigryw NEU golygu bod yn rhaid yn gyfan gwbl 867 00:42:55,800 --> 00:43:02,970 un ffug yn wir ac un, felly un 1 ac un 0, yn erbyn gyda NEU, gallwch eu cael - 868 00:43:02,970 --> 00:43:06,170 un ohonynt i fod yn wir, neu gall y ddau ohonynt fod yn wir, ar ei gyfer 869 00:43:06,170 --> 00:43:07,130 i werthuso i gwir. 870 00:43:07,130 --> 00:43:10,030 SIARADWR 27: Felly byddai 0 a 0 yn ffug. 871 00:43:10,030 --> 00:43:10,450 ALI: Yeah. 872 00:43:10,450 --> 00:43:11,780 Ond os ydych wedi 1 | 873 00:43:11,780 --> 00:43:14,290 1, a fyddai'n gwerthuso i gwir. 874 00:43:14,290 --> 00:43:18,210 Ond os ydych wedi 1 ^ 1, fel y gwnaethom, sy'n gwerthuso i ANWIR. 875 00:43:18,210 --> 00:43:21,220 Oherwydd nad yw'n unig un yn wir. 876 00:43:21,220 --> 00:43:26,930 ROB: A gall hyn neu beidio fod yn ddefnyddiol, ond rhybudd fod y ^ yn 877 00:43:26,930 --> 00:43:28,890 gyfartal i ddim ond gymryd y | 878 00:43:28,890 --> 00:43:30,290 minws y &. 879 00:43:30,290 --> 00:43:32,250 A allwch chi mewn gwirionedd yn meddwl amdano fel hyn. 880 00:43:32,250 --> 00:43:37,290 ^ Yn unig ORing popeth at ei gilydd ond gan unrhyw un y darnau lle 881 00:43:37,290 --> 00:43:38,610 roedd y ddau yn wir. 882 00:43:38,610 --> 00:43:41,620 So & dychwelyd popeth lle mae'r ddau yn wir. 883 00:43:41,620 --> 00:43:45,850 | Dychwelyd popeth lle mae un neu'r ddau yn wir. 884 00:43:45,850 --> 00:43:51,050 Felly tynnu'r bod allan o'r | rhoi i chi y ^. 885 00:43:51,050 --> 00:43:52,040 ALI: Unrhyw gwestiynau? 886 00:43:52,040 --> 00:43:53,290 Roedd hyn yn llawer o wybodaeth. 887 00:43:55,980 --> 00:43:57,510 Mae pawb yn dda? 888 00:43:57,510 --> 00:44:00,360 >> ROB: Gallwn fynd dros y rhai nesaf ar gyfer y broblem nesaf, slaes 889 00:44:00,360 --> 00:44:01,680 faint o'r gloch yw hi? 890 00:44:01,680 --> 00:44:04,010 Nid oes angen hyn tan y broblem nesaf. 891 00:44:04,010 --> 00:44:07,830 ALI: Roeddwn i'n meddwl ei fod yn yr un yma. 892 00:44:07,830 --> 00:44:08,830 ROB: Nid yw'n. 893 00:44:08,830 --> 00:44:10,085 ALI: Ydych chi'n siwr? 894 00:44:10,085 --> 00:44:11,300 ROB: Ydw, dw i'n gadarnhaol. 895 00:44:11,300 --> 00:44:12,970 ALI: Pam nad ydym yn dechrau gwneud y broblem nesaf? 896 00:44:15,710 --> 00:44:19,790 Y broblem yw, unwaith eto, i newid rhag lythrennau bach i priflythyren, ac mae hyn yn 897 00:44:19,790 --> 00:44:21,720 amser i ddefnyddio gweithredwyr bitwise. 898 00:44:21,720 --> 00:44:22,970 ROB: Felly, byddwn yn - 899 00:44:25,290 --> 00:44:29,670 gadewch i ni ddechrau gyda'r gynrychiolaeth deuaidd o 'A', cyfalaf 'A', 900 00:44:29,670 --> 00:44:31,750 sydd yn 65. 901 00:44:31,750 --> 00:44:36,150 Felly, yn deuaidd - 902 00:44:39,960 --> 00:44:47,900 felly 'A' = 65, = sydd, mewn deuaidd - 903 00:44:47,900 --> 00:44:51,380 Dw i'n mynd i llanast i fyny y nifer o 0s - hynny. 904 00:44:51,380 --> 00:44:53,670 ALI: Felly, a yw hynny'n gwneud synnwyr i bawb? 905 00:44:53,670 --> 00:44:57,620 Felly, 1, dim 2s, dim 4s, dim 8 oed, dim - 906 00:45:00,238 --> 00:45:07,075 dim 16 oed, dim 32s, ac yna un 64. 907 00:45:07,075 --> 00:45:08,685 ROB: Yeah, yr wyf yn meddwl dyna un 0au yn ormod. 908 00:45:08,685 --> 00:45:09,600 ALI: Mae'n ddrwg gennyf. 909 00:45:09,600 --> 00:45:13,410 >> ROB: Iawn, felly mae gennym y set 64, ac mae gennym y set 1, a chyfuno rhai 910 00:45:13,410 --> 00:45:16,030 gyda'n gilydd, rydym yn cael 65. 911 00:45:16,030 --> 00:45:17,470 ALI: ffa Cool? 912 00:45:17,470 --> 00:45:19,640 ROB: Felly yn awr, lythrennau bach 'a'- 913 00:45:22,220 --> 00:45:24,260 sylwi ar 97 - 914 00:45:24,260 --> 00:45:26,370 beth yw'r gwahaniaeth rhwng 97 a 65 oed? 915 00:45:26,370 --> 00:45:27,530 SIARADWR 28: 32. 916 00:45:27,530 --> 00:45:28,130 ROB: Yeah. 917 00:45:28,130 --> 00:45:35,920 Felly mae'n 32, sydd yn ei rhan ei hun, felly mae hynny'n mynd i fod yn 110,001. 918 00:45:35,920 --> 00:45:41,200 Ac mae hyn yn mynd i fod yn wir ar gyfer yr holl gymeriadau posibl. 919 00:45:41,200 --> 00:45:49,800 Felly, os ydym yn meddwl am 'D', sydd yn mynd i fod yn 68, mae hynny'n mynd i fod yn 1,000,011. 920 00:45:49,800 --> 00:45:56,310 Ac yna llythrennau bach 'd' yn mynd i yn 68 plws 32, sef 100, sy'n 921 00:45:56,310 --> 00:46:00,010 mynd i fod yr un peth fod hyn, dim ond flipping y 922 00:46:00,010 --> 00:46:04,300 32 eto, felly 1,100,011. 923 00:46:04,300 --> 00:46:08,610 Felly y gwahaniaeth rhwng lythyr priflythyren a llythrennau bach yn unig yw flipping 924 00:46:08,610 --> 00:46:10,170 fod 32-bit sefyllfa. 925 00:46:10,170 --> 00:46:17,670 SIARADWR 29: Onid yw'n 1,000,100? 926 00:46:17,670 --> 00:46:19,670 ROB: Arhoswch, mae'n 100 - 927 00:46:19,670 --> 00:46:20,480 rywbeth a wnes i yn anghywir. 928 00:46:20,480 --> 00:46:21,730 Nid oedd hyn yn wir. 929 00:46:28,710 --> 00:46:31,150 Roeddwn yn meddwl ei fod yn wahaniaeth o 3, felly, yna Fi jyst yn sownd 930 00:46:31,150 --> 00:46:33,970 y binary 3 ar y diwedd. 931 00:46:33,970 --> 00:46:36,710 Dylai hyn fod yn iawn. 932 00:46:36,710 --> 00:46:37,150 ALI: Diolch yn fawr. 933 00:46:37,150 --> 00:46:38,080 Da ar gyfer pwyntio hynny. 934 00:46:38,080 --> 00:46:40,320 Dyna oedd miniog. 935 00:46:40,320 --> 00:46:43,450 Mae pob hawl, yw bod yn glir i bobl? 936 00:46:43,450 --> 00:46:45,700 >> ROB: Y gwahaniaeth rhwng y fersiwn priflythyren a llythrennau bach yn 937 00:46:45,700 --> 00:46:49,250 bob amser yn unig yn mynd i fod yn 32, ac felly mae'n bob amser yn mynd i fod ychydig yn un 938 00:46:49,250 --> 00:46:51,840 y mae angen ei flipped i newid rhwng y ddau. 939 00:46:51,840 --> 00:46:54,330 ALI: Felly yn yr achos hwnnw, gan wybod y gwahaniaeth rhwng y brifddinas A a 940 00:46:54,330 --> 00:46:57,130 y llythrennau bach a yn beth da. 941 00:46:57,130 --> 00:47:01,950 Nid yn eich cod, ond yn gysyniadol o leiaf, mae'n dda. 942 00:47:01,950 --> 00:47:05,880 Felly, gallwch chi guys mynd yn ei flaen a chod bod yn Spaces yn awr. 943 00:47:05,880 --> 00:47:08,580 Dylai Neu rydym yn ei drafod yn unig? 944 00:47:08,580 --> 00:47:09,760 ROB: Gallwn ei drafod yn unig. 945 00:47:09,760 --> 00:47:10,680 Nid wyf yn gwybod. 946 00:47:10,680 --> 00:47:11,680 Gallwch roi cynnig ar guys. 947 00:47:11,680 --> 00:47:13,560 Siarad ymysg eich hun ar gyfer ychydig. 948 00:47:13,560 --> 00:47:16,390 Byddwn yn rhoi cyfle i chi godedig. 949 00:47:16,390 --> 00:47:17,640 [INTERPOSING LLEISIAU] 950 00:47:19,785 --> 00:47:22,695 ALI: - yn oer 951 00:47:22,695 --> 00:47:26,590 SIARADWR 30: Mae hwn yn debyg gomedi haciwr. 952 00:47:26,590 --> 00:47:31,060 ALI: Yeah, rydym yn unig yn dweud wrth y newyddion, yn mynd drwyddo. 953 00:47:31,060 --> 00:47:32,310 >> ROB: Ac rydym ni'n ôl. 954 00:47:34,950 --> 00:47:35,405 ALI: Dyna fath o 'n annaearol. 955 00:47:35,405 --> 00:47:38,720 Rwy'n teimlo fel y dylai fod gennym orsaf newyddion CS50 a gallem 956 00:47:38,720 --> 00:47:41,500 mewn gwirionedd yn eistedd fel hyn. 957 00:47:41,500 --> 00:47:43,500 ROB: Newyddion Hacker. 958 00:47:43,500 --> 00:47:46,848 ALI: 50 Newyddion Hacker. 959 00:47:46,848 --> 00:47:49,210 ALI: Teimlwch yn rhydd i ofyn unrhyw gwestiynau os ydych yn ddryslyd. 960 00:47:52,280 --> 00:47:53,980 ROB: A oes unrhyw un yn sownd? 961 00:47:53,980 --> 00:47:57,160 ALI: Yeah, mae hynny'n beth da. 962 00:47:57,160 --> 00:47:58,590 ALI: Arhoswch, a ydych yn sownd yn eich cadair? 963 00:47:58,590 --> 00:48:01,010 Oh. 964 00:48:01,010 --> 00:48:02,260 Roeddwn ychydig yn bryderus. 965 00:48:06,670 --> 00:48:12,150 ROB: Oherwydd Fi jyst sylweddoli ein bod yn mynd i eisiau 966 00:48:12,150 --> 00:48:13,300 weithredwr arall bitwise. 967 00:48:13,300 --> 00:48:16,985 Am y tro, gadewch i ni dim ond trosi priflythyren i lythrennau bach. 968 00:48:23,280 --> 00:48:25,220 ALI: Mae'n ddrwg gennyf, nid oedd pawb yn cael y cyhoeddiad hwnnw? 969 00:48:25,220 --> 00:48:27,755 Rydym yn mynd i fynd o priflythyren i lythrennau bach. 970 00:48:27,755 --> 00:48:30,990 ROB: Yna, byddwn yn trafod lythrennau bach i priflythyren dde ar ôl hynny. 971 00:48:33,820 --> 00:48:36,650 O, na. 972 00:48:36,650 --> 00:48:39,560 Mae gennym nam yn hyn, nad oedd erioed, mae'n debyg, rydym yn ceisio rhedeg. 973 00:48:39,560 --> 00:48:44,140 Pa un yw dim ond bod torgoch c rhaid ei ddatgan y tu allan i'r ddolen, oherwydd 974 00:48:44,140 --> 00:48:45,805 ei gwmpas yn gyfyngedig yn y ddolen. 975 00:48:49,200 --> 00:48:53,060 SIARADWR 32: Yn yr achos hwn, mae'n anghywir i ddefnyddio rhif? 976 00:48:53,060 --> 00:48:56,930 ROB: Eh, nid oes angen i chi. 977 00:48:56,930 --> 00:49:02,040 Os byddaf yn sicr eich bod cyfalaf 'A'- neu, lythrennau bach' a 'cyfalaf minws' A ' 978 00:49:02,040 --> 00:49:09,340 yn union o gwbl, ond nad ydych yn gwybod ei fod yn 32 - 979 00:49:09,340 --> 00:49:13,160 Byddai pethau'n gweithio yr un mor dda os yw'n oedd y bit 16 sydd yn flipped - neu 980 00:49:13,160 --> 00:49:14,610 na, yr wyf yn dyfalu ei fod wouldn't - 981 00:49:14,610 --> 00:49:18,270 neu 64 bit flipped oedd, o bosibl. 982 00:49:18,270 --> 00:49:23,230 Ond ni ddylai fod angen i ddefnyddio 32. 983 00:49:23,230 --> 00:49:26,141 Gallech yn hytrach defnyddiwch lythrennau bach 'A' 'a' cyfalaf minws. 984 00:49:26,141 --> 00:49:29,340 >> SIARADWR 32: Iawn. 985 00:49:29,340 --> 00:49:32,996 Beth allwch chi ei wneud os ydych yn teimlo fel eich bod yn ysgrifennu gormod yn y gallwch chi ei ddiffinio 986 00:49:32,996 --> 00:49:33,435 ar y brig. 987 00:49:33,435 --> 00:49:41,830 Felly gallwch fod yn debyg, int gwahaniaeth = lythrennau bach 'A' 'a' cyfalaf minws. Ac 988 00:49:41,830 --> 00:49:43,980 yna gallwch deipio wahaniaeth yn lle hynny. 989 00:49:43,980 --> 00:49:45,110 Mae hynny'n ddilys. 990 00:49:45,110 --> 00:49:48,002 Ond dim ond yn defnyddio'r rhif 32 yn fath o - 991 00:49:48,002 --> 00:49:51,104 SIARADWR 33: Hyd yn oed er 'i' oherwydd y ffaith ei fod yn y 32 bit? 992 00:49:51,104 --> 00:49:52,570 ALI: Yeah. 993 00:49:52,570 --> 00:49:54,960 ROB: Gallai fod - 994 00:49:54,960 --> 00:49:57,780 y warant yn unig yr ydym ei angen i wneud i chi yw bod y gwahaniaeth rhwng y 995 00:49:57,780 --> 00:49:59,480 lythrennau bach a priflythyren yn un bit. 996 00:49:59,480 --> 00:50:04,670 Ni ddylai fod ots ei fod yn digwydd i fod yn 32 bit sydd wedi flipped. 997 00:50:04,670 --> 00:50:06,610 Am ystyriaethau amser, byddwn yn dechrau mynd dros hyn. 998 00:50:09,170 --> 00:50:10,370 Mae'n iawn os nad ydych wedi gorffen. 999 00:50:10,370 --> 00:50:13,090 Peidiwch â phoeni am y peth. 1000 00:50:13,090 --> 00:50:16,260 ROB: Gan dybio c yn llythyr cyfalaf - 1001 00:50:16,260 --> 00:50:18,030 Nid oes raid i ni gymryd yn ganiataol c yn llythyr cyfalaf. 1002 00:50:18,030 --> 00:50:20,750 Rydym yn gwybod c yn llythyr cyfalaf ar ôl y ddolen tra - 1003 00:50:20,750 --> 00:50:22,160 gwneud-tra dolen. 1004 00:50:22,160 --> 00:50:28,590 Felly mae hynny'n golygu ei fod yn edrych rhywbeth fel hyn 'A'. Felly, os ydym am ddod â hyn 1005 00:50:28,590 --> 00:50:32,895 'A' i'r 'a', beth sydd angen i ni ei wneud? 1006 00:50:36,890 --> 00:50:41,920 Felly sut mae troi'r ac yn troi y darn? 1007 00:50:48,040 --> 00:50:49,450 ALI: Sut rydym yn troi ei? 1008 00:50:49,450 --> 00:50:53,010 >> ROB: Felly, rydym yn gwybod ein bod am i chnithia y 32 bit. 1009 00:50:53,010 --> 00:50:59,722 Felly, a fydd yn gwneud 'a' llai 'A', neu gallem ysgrifennu 32, ond - 1010 00:50:59,722 --> 00:51:03,090 asio ei, 'i' y ffordd arall o gwmpas. 1011 00:51:03,090 --> 00:51:07,250 ALI: Iawn felly dyma Rob wedi cyfrifo bod nifer, rhif hud 32. 1012 00:51:07,250 --> 00:51:12,000 Felly, mae'n darganfod lle y byddai yr ardal ychydig yn troi fod. 1013 00:51:12,000 --> 00:51:14,810 Ac yna beth ydym yn ei roi lle y marciau cwestiwn yn? 1014 00:51:14,810 --> 00:51:16,740 ROB: Sut rydym yn troi ychydig yn? 1015 00:51:16,740 --> 00:51:22,784 O ran y llythyr priflythyren, mae'n 0, ac rydym am fod yn 1. 1016 00:51:22,784 --> 00:51:23,660 SIARADWR 34: |. 1017 00:51:23,660 --> 00:51:24,910 ROB: Yeah. 1018 00:51:28,780 --> 00:51:38,190 Felly, mae hyn yn ein dweud ein gymryd 'A'. Rydym yn ORing gyda 0 - 1019 00:51:38,190 --> 00:51:40,750 1000 - 1020 00:51:40,750 --> 00:51:44,720 a bod = hynny. 1021 00:51:44,720 --> 00:51:45,930 ALI: A yw hynny'n gwneud synnwyr i bawb? 1022 00:51:45,930 --> 00:51:48,812 Gallwn fynd drwyddo fesul tipyn os ydych yn dymuno. 1023 00:51:52,030 --> 00:51:56,300 SIARADWR 35: Ydych chi [Anghlywadwy]? 1024 00:51:56,300 --> 00:51:57,590 ALI: Ble mae'r arwydd minws? 1025 00:51:57,590 --> 00:51:58,500 ROB: O, rydych yn ei olygu yma? 1026 00:51:58,500 --> 00:51:59,070 ALI: Oh, yeah. 1027 00:51:59,070 --> 00:52:00,140 ROB: Felly yr wyf yn dyfalu mae hyn yn ein. 1028 00:52:00,140 --> 00:52:05,670 Gallem ddweud 32, ac yn awr rydym yn defnyddio dim ond gweithredwyr bitwise. 1029 00:52:05,670 --> 00:52:07,010 ALI: Nid ydym yn hoffi rhifau hud. 1030 00:52:07,010 --> 00:52:10,460 Nid ydym yn mynd i wneud hynny. 1031 00:52:10,460 --> 00:52:13,592 Hefyd, rwy'n credu y dylem ddefnyddio gweithredwr bitwise - 1032 00:52:13,592 --> 00:52:19,042 SIARADWR 36: Os ydych yn defnyddio ^ A Bydd, byddwch yn cael 32? 1033 00:52:19,042 --> 00:52:19,980 SIARADWR 37: Yeah, yr wyf yn meddwl - 1034 00:52:19,980 --> 00:52:21,090 ROB: Yeah byddwch yn. 1035 00:52:21,090 --> 00:52:23,320 ALI: Dyma sut y byddech wedi gwneud hynny ar gyfer mynd 1036 00:52:23,320 --> 00:52:25,370 o gyfalaf i lythrennau bach. 1037 00:52:25,370 --> 00:52:31,130 >> Gall unrhyw un Nawr ddweud wrthyf pam y newidiodd Rob a minnau brydlon a sut rydym yn mynd 1038 00:52:31,130 --> 00:52:34,040 o llythrennau bach priflythyren, yn hytrach na lythrennau bach i 1039 00:52:34,040 --> 00:52:37,810 priflythyren fel y gwnaethom o'r blaen? 1040 00:52:37,810 --> 00:52:44,520 A oes unrhyw un gennych unrhyw syniadau pam y gallai fod yn fwy anodd? 1041 00:52:44,520 --> 00:52:44,880 ROB: Felly byddem yn ei wneud - 1042 00:52:44,880 --> 00:52:46,178 ALI: Yeah, mynd yn ei flaen. 1043 00:52:46,178 --> 00:52:49,640 SIARADWR 38: Y | gweithredwr yn unig yn dda iawn ar gyfer ychwanegu. 1044 00:52:49,640 --> 00:52:51,200 ALI: Yeah, yn union. 1045 00:52:51,200 --> 00:52:58,320 ROB: Felly, beth yr ydym am ei wneud yn y llythrennau bach i priflythyren achos, 1046 00:52:58,320 --> 00:53:00,175 trosi hwn yn a''- 1047 00:53:08,540 --> 00:53:14,820 felly rydym yn awyddus i roi rhai rhifau yma a defnyddio rhai gweithredydd fel ei fod yn dod 1048 00:53:14,820 --> 00:53:21,910 allan i gyfalaf A. Rydym yn dal yn ôl pob tebyg gan ddefnyddio 32 rywsut, ond erbyn hyn sut rydym yn 1049 00:53:21,910 --> 00:53:25,280 cael hyn i ddod allan i hyn? 1050 00:53:40,910 --> 00:53:42,750 Felly c - 1051 00:53:42,750 --> 00:53:44,000 oh, yr wyf yn dal eisiau bod yn rhy - 1052 00:53:46,940 --> 00:53:51,055 ALI: Felly, yn awr os ydym yn newid o lythrennau bach i priflythyren eto, yna rydym yn 1053 00:53:51,055 --> 00:53:55,170 wneud y gweithrediad ^, fel y guys meddai. 1054 00:53:55,170 --> 00:53:57,650 ROB: Mae yna ffyrdd eraill y gallwch wneud pethau. 1055 00:53:57,650 --> 00:54:01,680 Mae llawer o'r gweithredwyr bitwise y pen draw yn cael ei diffinio yn hawdd iawn o ran 1056 00:54:01,680 --> 00:54:03,460 o weithredwyr bitwise eraill. 1057 00:54:03,460 --> 00:54:11,150 Felly, yr wyf yn mynd i beidio â defnyddio neu ^ o gwbl, ond ^ yn gweithio 'n anhyfreg ddirwya. 1058 00:54:11,150 --> 00:54:17,910 >> ALI: Iawn, felly rydym ni'n mynd i fynd ar y broblem olaf, a fydd yn sylfaenol - 1059 00:54:17,910 --> 00:54:22,390 y broblem olaf yw trosi rhywbeth yn deuaidd. 1060 00:54:22,390 --> 00:54:26,350 Felly, er enghraifft, mae gennych 50, ac yna ei drosi i 1061 00:54:26,350 --> 00:54:31,400 binary, sef 110,010. 1062 00:54:31,400 --> 00:54:36,010 Ac yr wyf yn meddwl eich guys i gyd yn gwybod am deuaidd o ddarlith. 1063 00:54:36,010 --> 00:54:39,270 Ac nad ydych hefyd yn cael eu i fod i roi unrhyw 0au arwain i mewn iddo. 1064 00:54:39,270 --> 00:54:41,460 ROB: Gallwch anwybyddu y rhan honno am y tro. 1065 00:54:41,460 --> 00:54:45,250 Mae'r tocyn cyntaf, gallwch wneud hynny fel bod 0au blaenllaw. 1066 00:54:45,250 --> 00:54:49,200 Ac yna gallwn addasu, er mwyn cael unrhyw 0au blaenllaw, os oes gennym amser. 1067 00:54:49,200 --> 00:54:50,630 ALI: Felly peidiwch â phoeni am hynny. 1068 00:54:50,630 --> 00:54:52,620 Dim ond yn ceisio i fynd i mewn deuaidd. 1069 00:54:55,880 --> 00:54:59,855 Byddai lle da i ddechrau fod - 1070 00:54:59,855 --> 00:55:02,010 ROB: Mae angen i ni ofyn am gyfanrif. 1071 00:55:02,010 --> 00:55:03,150 ALI: Oh yeah, mae hynny'n un da. 1072 00:55:03,150 --> 00:55:04,170 Gallwn ddechrau â hynny. 1073 00:55:04,170 --> 00:55:06,870 Felly, gallwch newid yr anogwr. 1074 00:55:06,870 --> 00:55:08,840 Felly, yn lle gymeriad, yn awr rydym ni'n delio gyda chyfanrifau. 1075 00:55:13,670 --> 00:55:14,920 Cool? 1076 00:55:20,630 --> 00:55:25,300 >> ROB: Ac yn awr beth yw ein do-tra cyflwr yn mynd i fod? 1077 00:55:25,300 --> 00:55:27,750 Mae'n gofyn am cyfanrif heb fod yn negyddol. 1078 00:55:31,080 --> 00:55:34,280 ALI: Pryd ydym ni eisiau cadw annog y defnyddiwr ar gyfer rhywbeth arall? 1079 00:55:34,280 --> 00:55:35,950 Pan fydd llai na 0. 1080 00:55:35,950 --> 00:55:36,760 ALI: Iawn. 1081 00:55:36,760 --> 00:55:38,010 ROB: Er i yn llai na 0. 1082 00:55:41,090 --> 00:55:45,120 ALI: Nawr rydym am i drosi. 1083 00:55:45,120 --> 00:55:48,150 Ydych chi'n guys gennych unrhyw syniadau am beth i'w wneud? 1084 00:55:48,150 --> 00:55:49,400 Unrhyw inklings? 1085 00:55:53,610 --> 00:55:54,984 Yeah. 1086 00:55:54,984 --> 00:55:57,344 SIARADWR 39: A oes rhaid i drosi, neu gallwn dim ond argraffu rhai 0s a 1s 1087 00:55:57,344 --> 00:55:58,760 hynny fyddai'r nifer cywir? 1088 00:55:58,760 --> 00:56:02,070 Allech chi wneud gyfer dolen a chyfrif gan pwerau 2? 1089 00:56:02,070 --> 00:56:03,320 ROB: Ydw. 1090 00:56:05,750 --> 00:56:08,425 Nid oes angen i chi newid i ei deuaidd - 1091 00:56:08,425 --> 00:56:13,720 Ni fydd y gynrychiolaeth o deuaidd i ffitio tu mewn i. 1092 00:56:13,720 --> 00:56:19,090 'Ch jyst angen i chi argraffu'r gynrychiolaeth deuaidd o i. 1093 00:56:19,090 --> 00:56:21,010 ALI: Mewn geiriau eraill, nid oes angen i chi fynd â phwerau o ddau. 1094 00:56:21,010 --> 00:56:23,710 ROB: Oherwydd i eisoes yn cael ei storio fel binaries, felly nid oes angen i chi 1095 00:56:23,710 --> 00:56:25,110 drosi i deuaidd. 1096 00:56:25,110 --> 00:56:27,260 Dim ond yn mynd dros ei deuaidd, a'i argraffu. 1097 00:56:30,080 --> 00:56:32,140 A ydych chi'n mynd i angen i ddefnyddio bitwise, oherwydd eich bod am i edrych ar 1098 00:56:32,140 --> 00:56:33,390 y darnau gwirioneddol. 1099 00:56:37,060 --> 00:56:38,600 Nid oes angen i chi ddefnyddio bitwise, ond cofiwch wneud hynny. 1100 00:56:44,130 --> 00:56:47,160 A dyna mewn gwirionedd - 1101 00:56:47,160 --> 00:56:50,200 dim ond y gallwch ei wneud pwerau o ddau drwy luosi â 2. 1102 00:56:50,200 --> 00:56:55,120 Byddwn yn mynd dros un o'r ddau olaf gweithredwyr deuaidd bitwise, 1103 00:56:55,120 --> 00:56:56,410 sydd yn yr un yma. 1104 00:56:56,410 --> 00:56:58,730 Felly, pan fyddwch yn cymryd - 1105 00:56:58,730 --> 00:57:00,083 >> ALI: Allwch chi fynd drwy ddau ohonynt? 1106 00:57:00,083 --> 00:57:01,440 ROB: Yeah. 1107 00:57:01,440 --> 00:57:03,050 Felly, gadewch i ni fynd gyda 9. 1108 00:57:03,050 --> 00:57:05,210 Hynny 9 newid y chwith 1 - 1109 00:57:05,210 --> 00:57:12,220 hyn a adawyd golygu shift yn unig yw symud yr holl ddarnau ar y chwith ac yn mewnosod 0. 1110 00:57:12,220 --> 00:57:15,530 Felly, rydym yn symud yr holl ddarnau o 9 i un sydd ar ôl 1111 00:57:15,530 --> 00:57:20,240 sefyllfa, sy'n rhoi i ni - 1112 00:57:26,530 --> 00:57:31,570 Felly sylwi ein bod wedi symud popeth ar ôl un, ac mae wedi mewnosod 0 ar y 1113 00:57:31,570 --> 00:57:32,730 ochr dde. 1114 00:57:32,730 --> 00:57:36,755 Os ydym wedi symud a adawyd gan ddwy, byddem yn symud popeth a adawyd gan ddwy, 1115 00:57:36,755 --> 00:57:41,950 ac yn cynnwys dau 0s i lenwi'r bylchau. 1116 00:57:41,950 --> 00:57:43,200 Cwestiwn? 1117 00:57:44,890 --> 00:57:47,510 ALI: Felly, yna newid i'r dde yn gwneud rhywbeth tebyg. 1118 00:57:47,510 --> 00:57:53,190 Os oes gennych chi 9 sifft iawn 1, yna ydych yn unig yn symud popeth drosodd i 1119 00:57:53,190 --> 00:57:57,890 y dde, byddwch yn colli digid, felly 100 yn lle hynny. 1120 00:57:57,890 --> 00:58:04,142 ROB: Felly rydych mae'n iawn eich bod yn colli'r darn sy'n digwydd i fod yn holl 1121 00:58:04,142 --> 00:58:05,200 y ffordd ar y dde. 1122 00:58:05,200 --> 00:58:08,850 Mae yna wahanol fathau o shifftiau iawn, ond yn y bôn y gallwch chi feddwl am 1123 00:58:08,850 --> 00:58:11,410 i'r dde symud fel dim ond rannu â 2. 1124 00:58:11,410 --> 00:58:14,430 A allwch chi feddwl am newid chwith wrth luosi â 2. 1125 00:58:14,430 --> 00:58:16,490 Felly, os ydych trosi hyn - 1126 00:58:16,490 --> 00:58:22,350 os ydych yn trosi 9 sifft 1, sy'n cyfateb i 10,010, os ydych mewn gwirionedd yn mynd 1127 00:58:22,350 --> 00:58:25,100 drwy'r deuaidd a cyfrifedig gwybod beth oedd, byddai dim ond yn 18. 1128 00:58:25,100 --> 00:58:26,880 Rydym yn unig yn lluosi gyda 2. 1129 00:58:26,880 --> 00:58:30,982 1001 newid y chwith, 2 yn mynd i fod yn 36. 1130 00:58:30,982 --> 00:58:32,400 Rydym yn lluosi â 4. 1131 00:58:41,740 --> 00:58:45,360 Iawn, oer, felly dyna gweithredwr bitwise law ar gyfer yr un yma. 1132 00:58:52,570 --> 00:58:53,330 Mwy o ddryswch? 1133 00:58:53,330 --> 00:58:54,870 Ydych chi guys am i roi cynnig arni? 1134 00:58:54,870 --> 00:58:58,970 Neu gallwn jyst neidio i'r dde i mewn a dechrau ei? 1135 00:58:58,970 --> 00:59:01,140 ROB: Mae'n debyg y dylem neidio i'r dde i mewn 1136 00:59:01,140 --> 00:59:01,880 ALI: Yeah, Iawn. 1137 00:59:01,880 --> 00:59:03,370 ROB: A rhodiwch trwy'r ei gilydd. 1138 00:59:03,370 --> 00:59:04,440 >> ALI: Wel 'n annhymerus' jyst yn mynd i mewn iddo. 1139 00:59:04,440 --> 00:59:09,700 Felly, fel y dywedodd yn y dechrau, rydym yn mynd i jyst yn mynd trwy bob yn dipyn. 1140 00:59:09,700 --> 00:59:11,890 Felly, rydym yn mynd i angen dolen. 1141 00:59:11,890 --> 00:59:16,730 Oes gan unrhyw un syniad o'r math gorau o ddolen i fynd drwy hyn? 1142 00:59:16,730 --> 00:59:20,544 Mae gennym ddolenni tra, yn ei wneud-tra dolenni, ar gyfer dolenni. 1143 00:59:20,544 --> 00:59:22,400 SIARADWR 40: Do-tra dolen? 1144 00:59:22,400 --> 00:59:25,150 ROB: Felly cofiwch yr hyn a ddywedais o'r blaen am, rydym yn defnyddio dim ond ei wneud-tra 1145 00:59:25,150 --> 00:59:27,390 dolenni i gael mewnbwn defnyddwyr. 1146 00:59:27,390 --> 00:59:30,890 Ni fyddwch byth yn 'n bert lawer byth yn eu defnyddio ar gyfer unrhyw beth arall. 1147 00:59:30,890 --> 00:59:33,660 ALI: Y broblem gyda ei wneud-tra dolenni a yw'n gwneud rhywbeth cyn iddo wirio am 1148 00:59:33,660 --> 00:59:34,470 y cyflwr. 1149 00:59:34,470 --> 00:59:36,540 Felly, gallai wneud rhywbeth drwg - 1150 00:59:36,540 --> 00:59:38,640 hoffi, brifo - 1151 00:59:38,640 --> 00:59:40,350 wneud rhywbeth nad yw hynny'n bosibl. 1152 00:59:40,350 --> 00:59:42,290 Felly rydych chi am wirio yn gyntaf. 1153 00:59:42,290 --> 00:59:47,620 ROB: Mae llawer o achosion lle y gallwch ddefnyddio ei wneud-tra dolenni, ond mae pobl 1154 00:59:47,620 --> 00:59:52,120 peidiwch â disgwyl i chi eu defnyddio oni bai ei fod mewnbwn defnyddwyr. 1155 00:59:52,120 --> 00:59:54,215 Felly, rydym wedi defnyddio ein do-tra ddolen i gael i. 1156 00:59:57,160 --> 01:00:01,260 Sawl gwaith mae ein dolen mynd i am ddolen? 1157 01:00:01,260 --> 01:00:04,060 Rydym yn awyddus i ddolen dros bob un o'r darnau o i. 1158 01:00:04,060 --> 01:00:06,302 Faint o ddarnau mewn i? 1159 01:00:06,302 --> 01:00:07,266 SIARADWR 41: 32. 1160 01:00:07,266 --> 01:00:07,750 ALI: Yeah. 1161 01:00:07,750 --> 01:00:09,850 ROB: Felly mae 32 o ddarnau. 1162 01:00:09,850 --> 01:00:12,920 Nid ydym am i ddweud 32. 1163 01:00:12,920 --> 01:00:16,230 Rydym yn lle hynny am ei ddweud sizeof - 1164 01:00:16,230 --> 01:00:18,226 sydd, ydych chi wedi gweld hynny yn y dosbarth eto? 1165 01:00:18,226 --> 01:00:19,100 ALI: Na. 1166 01:00:19,100 --> 01:00:20,380 ROB: Pam ei fod yn dweud i ddefnyddio hynny - 1167 01:00:20,380 --> 01:00:22,160 sizeof (canolradd) gwaith 8 - 1168 01:00:22,160 --> 01:00:23,530 ALI: Felly, sizeof yw - 1169 01:00:23,530 --> 01:00:27,050 >> SIARADWR 42: [Anghlywadwy] 1170 01:00:27,050 --> 01:00:27,440 ALI: diddorol. 1171 01:00:27,440 --> 01:00:31,610 Felly, sizeof yn swyddogaeth C adeiledig mewn lle 'i jyst yn dweud wrthych am y 1172 01:00:31,610 --> 01:00:32,500 nifer o ddarnau i mewn - 1173 01:00:32,500 --> 01:00:33,220 ROB: Bytes. 1174 01:00:33,220 --> 01:00:34,210 ALI: Bytes, sori - 1175 01:00:34,210 --> 01:00:39,990 y nifer o bytes y newidyn yn cadw gwerth. 1176 01:00:39,990 --> 01:00:46,205 Felly, yr wyf yn meddwl ei fod aeth drosodd yn y dosbarth, yna, yn int yw 4 bytes efallai. 1177 01:00:46,205 --> 01:00:46,610 Cool? 1178 01:00:46,610 --> 01:00:50,610 ROB: Ond ni ddylai fod angen i chi wybod bod int yw 4 bytes. 1179 01:00:50,610 --> 01:00:52,670 Dylech fod yn gallu dweud - 1180 01:00:52,670 --> 01:00:55,870 dylech ddefnyddio sizeof (int) i gael 4 bytes. 1181 01:00:55,870 --> 01:00:59,170 A dyna mewn gwirionedd yn bwysig i rai pethau. 1182 01:00:59,170 --> 01:01:01,650 Efallai na fydd yn int fod yn 4 bytes. 1183 01:01:01,650 --> 01:01:04,050 Ar gyfrifiadur arall, gallai fod yn 8 int bytes. 1184 01:01:04,050 --> 01:01:08,500 Felly, ni fydd eich rhaglen yn gweithio ar y cyfrifiadur oherwydd eich bod hard-coded 32 1185 01:01:08,500 --> 01:01:12,230 darnau pan fyddant ar y cyfrifiadur hwnnw yn digwydd i fod yn 64 did. 1186 01:01:12,230 --> 01:01:15,260 ALI: Felly, rydych yn cael y nifer cyfanswm o ddarnau eich bod am iddo i wrthdroi'r. 1187 01:01:15,260 --> 01:01:17,480 ROB: A'r gwahaniaeth rhwng beit ac ychydig yw bod 1188 01:01:17,480 --> 01:01:19,100 yn 8 did mewn beit. 1189 01:01:19,100 --> 01:01:22,110 Felly sizeof (int) yn dychwelyd 4 bytes, yna mae'n rhaid i luosogi y 1190 01:01:22,110 --> 01:01:24,420 o 8 i gael 32 catiau. 1191 01:01:24,420 --> 01:01:27,680 >> ALI: Iawn, felly rydym yn gwybod y mwyaf ac rydym yn gwybod ein bod am fynd o'r - 1192 01:01:27,680 --> 01:01:29,260 rydym am i fynd drwy bob un ohonynt. 1193 01:01:29,260 --> 01:01:32,950 Felly, rydym am i fynd o 0 i numBits. 1194 01:01:32,950 --> 01:01:37,160 Felly, mae unrhyw un yn gwybod sut i ysgrifennu y ddolen am hynny? 1195 01:01:37,160 --> 01:01:37,790 Dylai unrhyw un? 1196 01:01:37,790 --> 01:01:39,680 SIARADWR 43: [Anghlywadwy] 1197 01:01:39,680 --> 01:01:44,130 ALI: Felly rydych chi am i groesi'r rhif i oddi wrth y darn 0 i 1198 01:01:44,130 --> 01:01:47,840 peth cyntaf, yr ail ran, y rhan trydydd, yr holl ffordd i numBits. 1199 01:01:47,840 --> 01:01:50,972 Y nifer uchafswm o ddarnau y gallwch ei gael iddo. 1200 01:01:54,420 --> 01:01:57,780 ROB: Beth yw'r ddolen gyffredin rydym yn defnyddio'r hyn yr ydym am ei wneud amserau x rhywbeth? 1201 01:01:57,780 --> 01:01:58,280 ALI: Ar gyfer. 1202 01:01:58,280 --> 01:01:59,280 Perfect. 1203 01:01:59,280 --> 01:02:00,440 Felly mae gennym amdano. 1204 01:02:00,440 --> 01:02:05,242 Ac yna byddwn yn creu iterator, nad yw'n mynd i fod yn i. 1205 01:02:05,242 --> 01:02:06,850 ROB: j. 1206 01:02:06,850 --> 01:02:08,080 ALI: J = 0. 1207 01:02:08,080 --> 01:02:09,740 Felly, byddwn yn dechrau ar 0. 1208 01:02:09,740 --> 01:02:13,110 Ac yna rydym yn mynd i gael yr amod i wneud yn siŵr, tra byddwch chi 1209 01:02:13,110 --> 01:02:14,968 mynd drwyddo bob tro - 1210 01:02:14,968 --> 01:02:16,960 [INTERPOSING LLEISIAU] 1211 01:02:16,960 --> 01:02:17,960 ROB: j. 1212 01:02:17,960 --> 01:02:19,970 ALI: j yn llai na numBits. 1213 01:02:19,970 --> 01:02:23,680 Felly, nid ydym am wneud gwirioneddol yn cyfateb i un, am eu bod yn numBits 1214 01:02:23,680 --> 01:02:25,365 cyfanswm, ac rydym yn dechrau ar 0. 1215 01:02:25,365 --> 01:02:26,360 Felly, rydym yn wir yn mynd i gael - 1216 01:02:26,360 --> 01:02:27,400 SIARADWR 44: Oh. 1217 01:02:27,400 --> 01:02:29,300 ALI: Nid yw'r mynegeion ddim yn dod i ben ar numBits minws 1. 1218 01:02:29,300 --> 01:02:34,070 ROB: Rydym yn labelu'r darnau 0-31, nid ydym yn eu labelu 1-32. 1219 01:02:34,070 --> 01:02:36,970 ALI: Ac yna rydym yn mynd i gynnydd bob tro gan un, oherwydd ein bod eisiau 1220 01:02:36,970 --> 01:02:38,050 gwirio bob un. 1221 01:02:38,050 --> 01:02:39,851 Felly, byddwn yn mynd j + +. 1222 01:02:39,851 --> 01:02:42,740 >> SIARADWR 45: Pam ydych chi'n gwneud hynny? 1223 01:02:42,740 --> 01:02:46,100 SIARADWR 46: Pam ydych chi'n mynd drwy bob rhan? 1224 01:02:46,100 --> 01:02:49,310 ROB: Felly rydym am i fynd drwy bob darn a - 1225 01:02:52,780 --> 01:02:55,100 Felly, gadewch i ni ddweud ein bod wedi rhywfaint o rhif. 1226 01:02:55,100 --> 01:02:56,195 ALI: 68. 1227 01:02:56,195 --> 01:02:57,470 ROB: gall Rydym yn defnyddio 68. 1228 01:02:57,470 --> 01:03:00,450 Felly, y binary yn mynd i fod yn 100,100. 1229 01:03:00,450 --> 01:03:05,540 Felly mae hyn yn tu mewn i ac rydym am fynd dros pob un o'r darnau. 1230 01:03:05,540 --> 01:03:06,450 A yw'n 1? 1231 01:03:06,450 --> 01:03:07,320 Argraffu 1. 1232 01:03:07,320 --> 01:03:08,120 A yw'n 0? 1233 01:03:08,120 --> 01:03:09,100 Argraffu 0. 1234 01:03:09,100 --> 01:03:10,530 Yna rydym yn mynd ymlaen i'r rhan nesaf. 1235 01:03:10,530 --> 01:03:11,210 A yw'n 1? 1236 01:03:11,210 --> 01:03:11,610 Argraffu 1. 1237 01:03:11,610 --> 01:03:11,830 A yw 0? 1238 01:03:11,830 --> 01:03:13,080 Argraffu 0. 1239 01:03:14,880 --> 01:03:16,710 ALI: Cool, iawn. 1240 01:03:16,710 --> 01:03:22,880 Nawr ein bod ni'n ar y mynegai cywir ar gyfer lle y bit yn. 1241 01:03:25,380 --> 01:03:28,080 Sut rydym yn sicrhau bod un penodol? 1242 01:03:28,080 --> 01:03:33,130 Lets 'ddeud ein bod ni'n ar j = 0, felly rydym yn awyddus i wirio'r mynegai 0 o'r bit. 1243 01:03:33,130 --> 01:03:37,980 Felly, yn yr achos hwn, mae hyn yn un. 1244 01:03:37,980 --> 01:03:41,930 >> Felly nawr sut rydym yn mynd ati i wirio - oh, byddai'n hwn. 1245 01:03:41,930 --> 01:03:42,810 ROB: Yeah. 1246 01:03:42,810 --> 01:03:44,310 ALI: Mae'n ddrwg gennyf. 1247 01:03:44,310 --> 01:03:47,930 Sut y byddem yn mynd ati i wirio bod un, mewn synnwyr? 1248 01:03:47,930 --> 01:03:52,030 Sut fydden ni'n gwirio os yw'n 0 neu 1? 1249 01:03:52,030 --> 01:03:52,730 Wel let's - 1250 01:03:52,730 --> 01:03:53,940 DOSBARTH: Ac 1? 1251 01:03:53,940 --> 01:03:54,390 ALI: Ac? 1252 01:03:54,390 --> 01:03:55,010 Yeah. 1253 01:03:55,010 --> 01:03:57,810 ROB: Felly, gadewch i ni ddweud ein bod eisoes 1. 1254 01:03:57,810 --> 01:04:02,470 Yna y &, bydd hyn yn dychwelyd a oedd yn 1 neu 0. 1255 01:04:05,580 --> 01:04:08,200 ALI: Felly gallwn fynd i lawr. 1256 01:04:08,200 --> 01:04:10,695 A gallwn ei wneud wrth i chi guys meddai, wrth wneud y & swyddogaeth. 1257 01:04:13,810 --> 01:04:15,560 ROB: int - 1258 01:04:15,560 --> 01:04:18,290 sut ydw i eisiau dweud hyn - 1259 01:04:18,290 --> 01:04:24,250 isone = i. 1260 01:04:24,250 --> 01:04:29,770 Ac ar gyfer y darn cyntaf rydym yn digwydd i fod yn edrych ar, rydym yn ei wneud i & 1. 1261 01:04:29,770 --> 01:04:33,302 Nawr beth ydym yn mynd i eisiau i & gan ar gyfer yr ail ran? 1262 01:04:33,302 --> 01:04:34,294 SIARADWR 47: 2. 1263 01:04:34,294 --> 01:04:36,110 ROB: Yeah, yr ail ein bod ar 2. 1264 01:04:36,110 --> 01:04:39,100 ALI: Byddwch yn sylwi bod y 1 wedi symud drosodd i'r un sydd ar ôl. 1265 01:04:39,100 --> 01:04:44,320 Felly ydym wedi ei ddysgu unrhyw weithredwyr bitwise i wneud y swyddogaeth honno? 1266 01:04:44,320 --> 01:04:45,160 ROB: Mae'r un nesaf - 1267 01:04:45,160 --> 01:04:46,280 ALI: Yeah, ar y dde, yn union. 1268 01:04:46,280 --> 01:04:48,670 Felly, mae'n newid y chwith. 1269 01:04:48,670 --> 01:04:51,120 Yn hytrach na bob amser yn gwirio gyda 1, rydym yn mynd i newid hynny. 1270 01:04:51,120 --> 01:04:53,470 A faint o weithiau yr ydym yn mynd i newid hyn? 1271 01:04:53,470 --> 01:04:59,340 Os ydym yn edrych ar yr un 0, yna rydym yn mynd i symud dros sero. 1272 01:04:59,340 --> 01:04:59,975 Yeah, yn union. 1273 01:04:59,975 --> 01:05:02,090 Felly, i chi adael symud iddo gan j. 1274 01:05:02,090 --> 01:05:02,550 Perfect. 1275 01:05:02,550 --> 01:05:03,550 Felly, nawr rydym yn gwybod - 1276 01:05:03,550 --> 01:05:06,450 gennym y int o os yw'n 1, ac yna - 1277 01:05:10,690 --> 01:05:14,670 felly Rob fath o dwyllo yma - 1278 01:05:14,670 --> 01:05:18,090 ac felly, yn awr ei fod yn mynd ymlaen ac mae wedi dim ond dweud os mai mewn gwirionedd yw 1, 1279 01:05:18,090 --> 01:05:23,540 oherwydd 1 gwerthuso i gwir, felly nid oes rhaid i ni ddweud ISF isone yn gyfwerth ag 1 - 1280 01:05:23,540 --> 01:05:29,210 felly os isone, yna rydym yn argraffu 1, ac fel arall, rydym argraffu 0. 1281 01:05:29,210 --> 01:05:33,350 >> ROB: Felly mae ein rhaglen yn bug cyffredinol. 1282 01:05:33,350 --> 01:05:35,845 Wel, cwestiynau ar hyn yn gyntaf. 1283 01:05:35,845 --> 01:05:41,692 SIARADWR 48: Allwch chi erioed wedi rhoi y isone y tu mewn i'r pedwar rhan weithredu a 1284 01:05:41,692 --> 01:05:47,804 hynny wedi ei symud ei hun fel y rhan olaf? 1285 01:05:47,804 --> 01:05:50,050 Felly isone yn gyfwerth ag 1 ac yna - 1286 01:05:50,050 --> 01:05:53,140 ROB: Ydw, y gallwch. 1287 01:05:53,140 --> 01:05:57,200 Gallwn mewn gwirionedd yn dangos bod unwaith y byddwn datrys y byg fy mod ar fin 1288 01:05:57,200 --> 01:06:00,050 trafod gyda chi i gyd. 1289 01:06:00,050 --> 01:06:03,470 Sylwch ar y drefn rydym yn mynd dros bethau. 1290 01:06:03,470 --> 01:06:10,570 O ystyried y gynrychiolaeth deuaidd, rydym yn dechrau gyda'r rhan 0. 1291 01:06:10,570 --> 01:06:13,010 Os yw'n 0, yna rydym yn argraffu - 1292 01:06:13,010 --> 01:06:15,620 yn dda, mae'n 0, felly rydym yn argraffu 0. 1293 01:06:15,620 --> 01:06:16,860 Yna rydym yn mynd i'r ail ran. 1294 01:06:16,860 --> 01:06:19,100 Mae'n 0, felly rydym yn argraffu 0. 1295 01:06:19,100 --> 01:06:20,290 Yna rydym yn mynd i'r ychydig trydydd. 1296 01:06:20,290 --> 01:06:22,950 Mae'n 1, felly rydym yn argraffu 1. 1297 01:06:22,950 --> 01:06:24,580 ALI: Felly, mae'n mynd yn ôl. 1298 01:06:24,580 --> 01:06:27,906 Felly, sut ydych chi'n guys yn awgrymu ein bod yn atgyweiria bod ac yn mynd y ffordd arall? 1299 01:06:27,906 --> 01:06:28,900 SIARADWR 49: [Anghlywadwy] 1300 01:06:28,900 --> 01:06:29,490 ROB: Yeah. 1301 01:06:29,490 --> 01:06:34,500 Felly, yn hytrach na mynd o 0 i numBits, byddwn yn mynd o ddarnau numBits i 0. 1302 01:06:34,500 --> 01:06:35,600 ALI: Felly [Anghlywadwy] 1303 01:06:35,600 --> 01:06:36,940 Gall bob amser yn mynd y ffordd arall. 1304 01:06:36,940 --> 01:06:38,970 ROB: NumBits minws 1, oherwydd dyna'r nubmer diwethaf - 1305 01:06:38,970 --> 01:06:41,160 ALI: Gan ei fod yn mynd o 0 i 31. 1306 01:06:41,160 --> 01:06:44,420 Ac yna byddwn bob amser yn gwneud yn siwr ei fod yn fwy na 0 fel nad ydych yn mynd 1307 01:06:44,420 --> 01:06:46,100 yn rhy bell i'r dde. 1308 01:06:46,100 --> 01:06:48,800 Ac yna byddwch bob amser yn tynnu gan 1 i fynd i'r dde. 1309 01:06:48,800 --> 01:06:52,240 >> ROB: Felly, yn awr mae gennym dolen cefn, ac mae'r nifer yn ôl i argraffu 1310 01:06:52,240 --> 01:06:53,586 yn y ffordd gywir. 1311 01:06:53,586 --> 01:06:57,560 SIARADWR 50: Peidiwch â ydych yn rhaid i chi newid y peth newid hefyd? 1312 01:06:57,560 --> 01:06:58,810 ALI: Felly dim. 1313 01:07:03,810 --> 01:07:06,470 ROB: Rydym yn gwneud yr un gwaith yn union, ac eithrio nawr 1314 01:07:06,470 --> 01:07:07,470 yn y drefn gwrthwyneb. 1315 01:07:07,470 --> 01:07:14,170 Felly yn hytrach na gwneud y symud gan numBits minws 1 i gael beth bynnag y 1316 01:07:14,170 --> 01:07:17,430 bit yw, yn lle gwneud hynny olaf, byddwn yn unig yn ei wneud yn gyntaf. 1317 01:07:19,970 --> 01:07:22,970 Drwy wrthdroi hyn i fyny yma, rydym yn newid y drefn bopeth 1318 01:07:22,970 --> 01:07:24,190 sy'n digwydd y tu mewn. 1319 01:07:24,190 --> 01:07:28,610 Ond nid ydym am i newid yr hyn sy'n digwydd y tu mewn o gwbl. 1320 01:07:28,610 --> 01:07:29,860 ALI: A yw hynny'n gwneud synnwyr? 1321 01:07:32,240 --> 01:07:33,660 Prosesu? 1322 01:07:33,660 --> 01:07:41,200 Iawn, felly a oes unrhyw un arall gennych unrhyw gwestiynau eraill cysyniadol? 1323 01:07:41,200 --> 01:07:45,030 ALI: Cyn i ni fynd i mewn ei bwynt sydd - 1324 01:07:45,030 --> 01:07:46,280 ALI: pob hawl, yn dda yn mynd. 1325 01:07:48,350 --> 01:07:53,160 ROB: Yn hytrach na defnyddio j i fod yn - 1326 01:07:55,780 --> 01:08:00,550 yn hytrach na defnyddio j i bob amser yn symud yn ôl, fel un j shifft chwith, yr wyf yn meddwl beth 1327 01:08:00,550 --> 01:08:04,120 rydych yn ei ddweud yn cael ei hoffi, i j defnyddio ei hun. 1328 01:08:04,120 --> 01:08:09,560 Felly, ar gyfer j - 1329 01:08:09,560 --> 01:08:14,656 Amcana hyn yn anodd - j = 1 << 31. 1330 01:08:14,656 --> 01:08:16,200 Yw bod yr hyn yr wyf eisiau? 1331 01:08:16,200 --> 01:08:18,470 Rwy'n credu ei fod << 31. 1332 01:08:18,470 --> 01:08:22,840 j> = 1. 1333 01:08:22,840 --> 01:08:32,319 j >>, >> isone, i & j - 1334 01:08:32,319 --> 01:08:35,620 felly, yn awr yn hytrach na defnyddio - 1335 01:08:35,620 --> 01:08:38,370 ALI: Rydych yn gyson yn symud j yn hytrach na gweld 1336 01:08:38,370 --> 01:08:40,520 mynegai i wirio. 1337 01:08:40,520 --> 01:08:42,130 Dyw hi ddim mor wael â hynny. 1338 01:08:42,130 --> 01:08:43,960 Rydym yn defnyddio math tebyg o rhesymeg. 1339 01:08:43,960 --> 01:08:46,202 Felly, os ydych yn mynd yn ôl - 1340 01:08:46,202 --> 01:08:50,020 oh, ond mae'n mynd i golli. 1341 01:08:50,020 --> 01:08:51,380 Iawn, ydych ond yn mynd i deipio eto. 1342 01:08:51,380 --> 01:08:56,880 Os byddwch yn sylwi bod rydym wedi 1 swm j << o weithiau, ac roeddem yn 1343 01:08:56,880 --> 01:09:02,279 incrementing j bob tro gan un cynyddiad, ond y tro hwn yn hytrach na 1344 01:09:02,279 --> 01:09:06,010 eu bod yn gwneud y cynnydd y j ar y brig ar gyfer y tu mewn i'r ddolen. 1345 01:09:06,010 --> 01:09:10,890 Felly, yn lle bob amser yn symud i lawr - 1346 01:09:10,890 --> 01:09:15,220 ROB: y fersiwn cyntaf y ddolen i, mae gennym j yn 10,000. 1347 01:09:15,220 --> 01:09:20,000 Mae'r fersiwn nesaf y ddolen i yw 01,000. 1348 01:09:20,000 --> 01:09:22,380 Mae'r fersiwn nesaf yw hynny. 1349 01:09:22,380 --> 01:09:26,800 Ac 1 yn unig yn mynd i gadw lluosogi i lawr nes i ni gyrraedd iawn 1350 01:09:26,800 --> 01:09:29,729 diwedd, lle erbyn hyn mae'n hyn. 1351 01:09:29,729 --> 01:09:33,990 Mae'r un nesaf, y 1 yn mynd i gael ei gwthio i ffwrdd, ac j yw bellach yn fwy 1352 01:09:33,990 --> 01:09:35,090 na neu'n hafal i 1. 1353 01:09:35,090 --> 01:09:38,380 Gallwn hefyd roi mwy na 0, un gwahaniaeth. 1354 01:09:38,380 --> 01:09:41,580 Ac yna dyna ni. 1355 01:09:41,580 --> 01:09:43,720 Cwestiynau? 1356 01:09:43,720 --> 01:09:44,760 Yeah. 1357 01:09:44,760 --> 01:09:49,740 >> SIARADWR 51: [Anghlywadwy] 1358 01:09:49,740 --> 01:09:51,729 ROB: Felly dyna yr un fath â - 1359 01:09:51,729 --> 01:09:57,270 ydych chi wedi gweld j + = 3? 1360 01:09:57,270 --> 01:10:00,960 Felly, mae hyn yr un fath ag j = j + 3? 1361 01:10:00,960 --> 01:10:05,560 Gallwch wneud hynny ar gyfer bron unrhyw weithredwr yn C. Felly j >> = 3 yn 1362 01:10:05,560 --> 01:10:10,490 cyfartal i j = j >> 3. 1363 01:10:13,980 --> 01:10:16,760 Felly sy'n gweithio hefyd gyda gweithredwyr bitwise. 1364 01:10:16,760 --> 01:10:19,630 Ac ni ddylwn i fod wedi rhoi 31 yma. 1365 01:10:19,630 --> 01:10:23,790 Dylwn i fod wedi rhoi numBits - 1. 1366 01:10:23,790 --> 01:10:25,380 ALI: Yay, dim rhifau hud. 1367 01:10:25,380 --> 01:10:29,070 Iawn, mae'n 4:00 fodd bynnag, felly os ydych yn guys rhaid i chi fynd - ond mae hyn yn gwneud synnwyr? 1368 01:10:29,070 --> 01:10:30,320 Ydych chi'n guys gennych unrhyw gwestiynau eraill? 1369 01:10:33,920 --> 01:10:38,470 ROB: Yr oeddwn hefyd yn mynd i taflu yn hynny os ydym am ei gael - 1370 01:10:38,470 --> 01:10:41,326 wedi iddo drafod gweithredwr teiran o gwbl? 1371 01:10:41,326 --> 01:10:42,730 ALI: Na 1372 01:10:42,730 --> 01:10:45,090 Mae'n iawn. 1373 01:10:45,090 --> 01:10:46,970 ROB: Felly, gallech edrych i mewn iddo ar gyfer y tro nesaf. 1374 01:10:51,030 --> 01:10:52,080 ALI: Iawn, mewn gwirionedd? 1375 01:10:52,080 --> 01:10:53,150 Nawr eich bod yn unig yn dangos i ffwrdd. 1376 01:10:53,150 --> 01:10:54,210 ROB: Na, yn awr it's - 1377 01:10:54,210 --> 01:11:00,490 mae hyn yn beth sy'n cael pobl sydd â diddordeb, ac yn awr fe fyddan nhw'n mynd yn edrych i mewn iddo. 1378 01:11:00,490 --> 01:11:02,640 Felly nawr, sy'n gwneud yr un peth, mewn un cam. 1379 01:11:05,150 --> 01:11:10,950 Felly, yn gyntaf wirio, yn i & j 1? 1380 01:11:10,950 --> 01:11:12,530 A yw'n wir? 1381 01:11:12,530 --> 01:11:17,000 Os felly, argraffu 1, arall, argraffu 0. 1382 01:11:17,000 --> 01:11:19,190 ALI: Ond yn ei wneud yn y ffordd arall yn berffaith iawn yn ogystal. 1383 01:11:19,190 --> 01:11:20,920 Mae ganddo yr un rhesymeg. 1384 01:11:20,920 --> 01:11:22,730 Felly, nid yw'n debyg un yn - 1385 01:11:22,730 --> 01:11:24,620 ROB: Ar y pwynt hwn, gallwn gael gwared o'r rhai a braces cyrliog, oherwydd mai dim ond 1386 01:11:24,620 --> 01:11:27,190 un-lein ar gyfer dolen. 1387 01:11:27,190 --> 01:11:29,370 ALI: Iawn, felly mae hynny'n gwneud synnwyr? 1388 01:11:29,370 --> 01:11:30,370 Dyna oedd fath o naid. 1389 01:11:30,370 --> 01:11:34,870 Ond roedd yn unig fath o gystrawen, yn fwy felly. 1390 01:11:34,870 --> 01:11:36,250 >> Cool? 1391 01:11:36,250 --> 01:11:37,500 Unrhyw gwestiynau eraill? 1392 01:11:40,880 --> 01:11:41,570 ROB: pob hawl. 1393 01:11:41,570 --> 01:11:42,310 ALI: pob hawl, oer. 1394 01:11:42,310 --> 01:11:43,560 Diolch am ddod i'r adran.