1 00:00:01,984 --> 00:00:07,450 [Powered by Google Translate] [ELECTRONIC STAATTINEN ÄÄNET] 2 00:00:07,450 --> 00:00:11,320 ROB: Okei, joten mitä me juuri tuonut teidät on CS50 Spaces. 3 00:00:11,320 --> 00:00:12,325 ALI: Odota takaisin ylös. 4 00:00:12,325 --> 00:00:13,175 Tervetuloa jakso! 5 00:00:13,175 --> 00:00:13,860 ROB: Tervetuloa jakso! 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: Olen Ali ja tämä on Rob. 9 00:00:18,610 --> 00:00:20,680 Okei, nyt me kerromme Spaces. 10 00:00:20,680 --> 00:00:23,650 ROB: Mitä me juuri tuonut teidät on CS50 Spaces. 11 00:00:23,650 --> 00:00:29,260 Saat käyttää tätä paljon Osioidesi tällä lukukaudella. 12 00:00:29,260 --> 00:00:32,110 Periaatteessa olemme jo lataat laitetta. 13 00:00:32,110 --> 00:00:38,630 Ja voit ajatella CS50 tilat kuin web-käyttöliittymä puhu laitteen 14 00:00:38,630 --> 00:00:40,670 että meillä on joitakin palvelimen jonnekin. 15 00:00:40,670 --> 00:00:42,990 Joten voit ajaa koodia tässä käyttöliittymässä, ja me 16 00:00:42,990 --> 00:00:44,180 miten tehdä asioita. 17 00:00:44,180 --> 00:00:48,200 Voit myös katsoa koodin muita ihmisiä osassa, ja - 18 00:00:48,200 --> 00:00:51,920 Ali: Ja kuten jotkut ovat huomanneet, voit keskustella ihmisten puolella. 19 00:00:51,920 --> 00:00:54,230 Ja me kaikki näemme sen myös, joten on jännittävää. 20 00:00:54,230 --> 00:00:55,655 Tule, tule istumaan. 21 00:00:55,655 --> 00:00:57,060 Istu. 22 00:00:57,060 --> 00:00:57,840 >> ROB: Niin, pääluokat ovat - 23 00:00:57,840 --> 00:00:59,380 ALI: Ei, ei, te voi tulla. 24 00:00:59,380 --> 00:01:03,356 ROB: § tulevat olemaan paljon enemmän vuorovaikutteinen tällä lukukaudella. 25 00:01:03,356 --> 00:01:04,180 ALI: Oh, hän on kuin - 26 00:01:04,180 --> 00:01:05,840 Oh. 27 00:01:05,840 --> 00:01:07,530 Okei, viileä. 28 00:01:07,530 --> 00:01:15,630 Joten jos kaverit ovat juuri tulossa, voit mennä tätä linkkiä, jos saan 29 00:01:15,630 --> 00:01:20,190 siellä, tuolla. 30 00:01:20,190 --> 00:01:22,780 Emme voi oikeastaan ​​kirjoittaa, koska ei ole aluksella tilaa, mutta tätä linkkiä 31 00:01:22,780 --> 00:01:27,160 täällä, mene, että tietokoneiden ja annat CS50 32 00:01:27,160 --> 00:01:29,810 Spaces, mikä on aika cool juttu. 33 00:01:32,460 --> 00:01:33,830 Okei. 34 00:01:33,830 --> 00:01:35,370 Onko sinulla ongelmia? 35 00:01:35,370 --> 00:01:39,930 ROB: Näin löydät ongelmat - 36 00:01:39,930 --> 00:01:42,720 Meidän on kyettävä kirjoittamaan tätä jonnekin. 37 00:01:42,720 --> 00:01:50,040 Joten jos menet cs50.net/psets ja tämä on hakkeri supersection - 38 00:01:50,040 --> 00:01:55,870 ja menet Hacker Edition PSET yksi, katso erittely 39 00:01:55,870 --> 00:01:57,620 jonnekin alas sivulla - 40 00:02:01,940 --> 00:02:04,280 >> ALI: Joten periaatteessa, mutta Rob näköinen, mitä aiomme tehdä 41 00:02:04,280 --> 00:02:06,650 jakso tänään on osa ongelmista - 42 00:02:06,650 --> 00:02:07,600 ROB: - sivulla kahdeksan. 43 00:02:07,600 --> 00:02:09,300 ALI: - kutsutaan osa ongelmista - 44 00:02:09,300 --> 00:02:10,280 ROB: § kysymyksiä. 45 00:02:10,280 --> 00:02:11,630 ALI: Anteeksi, jakso kysymyksiä. 46 00:02:11,630 --> 00:02:14,450 Ja ne ovat mitä aiomme mennä yli - 47 00:02:14,450 --> 00:02:16,370 ne ovat mitä aiomme mennä yli tänään osiossa. 48 00:02:16,370 --> 00:02:20,010 Ja me aiomme koodata sen CS50 tilat, ja toivottavasti se toimii. 49 00:02:20,010 --> 00:02:22,210 Ja voimme vain puhua niiden läpi. 50 00:02:22,210 --> 00:02:24,510 Ja te voi kysyä aina tuntuu - 51 00:02:24,510 --> 00:02:27,890 >> ROB: Eli tämä alkaa olla yhteinen asia useimpien psets. 52 00:02:27,890 --> 00:02:31,000 Mielestäni tämän kanssa, se sanoo et on luovutettava näihin kysymyksiin tuumaa 53 00:02:31,000 --> 00:02:36,780 Mutta ajatus on, että nämä kysymykset saatetaan PSET, ja voit tulla 54 00:02:36,780 --> 00:02:39,790 osioon on näihin kysymyksiin vastaukset. 55 00:02:39,790 --> 00:02:42,730 Tai jos et tule osiossa voit vastata niihin omalla tai saada 56 00:02:42,730 --> 00:02:44,250 auttaa toimistossa tunnin tai jotain. 57 00:02:44,250 --> 00:02:47,540 Mutta nämä ovat kysymyksiä, jotka on tarkoitus prep teitä ongelman asetettu. 58 00:02:47,540 --> 00:02:50,910 Ja hakkeri painos, paljon kysymyksiä voi olla juuri noin 59 00:02:50,910 --> 00:02:54,170 laajentaa nykyisen CS tietoa. 60 00:02:54,170 --> 00:02:55,370 ALI: Jep, aika paljon. 61 00:02:55,370 --> 00:02:57,950 >> Okei, on kaikki siitä CS50 tilat? 62 00:02:57,950 --> 00:02:59,457 Hei, tule sisään 63 00:02:59,457 --> 00:03:00,828 SPEAKER 1: Voimmeko nähdä URL vielä kerran? 64 00:03:04,030 --> 00:03:07,000 Rob: Joo, tämä on helpompaa, kun olet todella Osioidesi, ja 65 00:03:07,000 --> 00:03:10,760 oman TF voi vain lähettää sinulle URL etukäteen. 66 00:03:10,760 --> 00:03:11,870 ALI: Yay, istu. 67 00:03:11,870 --> 00:03:13,170 On paikkaa täällä. 68 00:03:13,170 --> 00:03:14,420 Edessä ei ole niin paha. 69 00:03:17,112 --> 00:03:18,362 Mitä? 70 00:03:20,650 --> 00:03:23,590 Joten, CS50 Spaces, olemme sinne. 71 00:03:23,590 --> 00:03:26,760 Onko kellään mitään kysyttävää ennen kuin pääsemme - mitä? 72 00:03:26,760 --> 00:03:28,060 ROB: Ei ole edes mitään liitu. 73 00:03:28,060 --> 00:03:29,270 [Kuulumattomissa] 74 00:03:29,270 --> 00:03:31,540 ALI: Anteeksi. 75 00:03:31,540 --> 00:03:32,950 Voisit käyttää kynnet? 76 00:03:32,950 --> 00:03:38,210 Olemme hyvin matalan teknologian tilaa hyvin high-tech luokka. 77 00:03:38,210 --> 00:03:40,795 Okei, on jokainen sellainen hyvä? 78 00:03:40,795 --> 00:03:44,310 Onko kellään vielä kysymyksiä siitä? 79 00:03:44,310 --> 00:03:48,540 Kuten aiemmin sanoin, aiomme käydä läpi osa kysymyksistä 80 00:03:48,540 --> 00:03:51,340 PSET vaatimukset. 81 00:03:51,340 --> 00:03:53,490 Eli siellä on vain pari ongelmaa, että aiomme 82 00:03:53,490 --> 00:03:57,490 koodata ylös CS50 Spaces. 83 00:03:57,490 --> 00:03:58,740 Onko kaikki hyvin? 84 00:04:01,010 --> 00:04:01,360 Okei. 85 00:04:01,360 --> 00:04:02,312 Hyvä? 86 00:04:02,312 --> 00:04:04,260 ROB: Onko sinulla kannettava tietokone? 87 00:04:04,260 --> 00:04:05,150 ALI: Voit hengailla Lucas. 88 00:04:05,150 --> 00:04:06,960 Hän istuu vieressäsi. 89 00:04:06,960 --> 00:04:10,030 Liimaus aikaa. 90 00:04:10,030 --> 00:04:10,990 >> ROB: Niin, aloita ensimmäinen ongelma? 91 00:04:10,990 --> 00:04:11,260 Ali: Joo. 92 00:04:11,260 --> 00:04:11,820 Voimme aloittaa. 93 00:04:11,820 --> 00:04:12,390 Haluatko minun - 94 00:04:12,390 --> 00:04:13,700 Voin mennä. 95 00:04:13,700 --> 00:04:16,666 Joten menemme PSET silmälasit. 96 00:04:16,666 --> 00:04:17,640 Voi, miksi se on - 97 00:04:17,640 --> 00:04:18,890 ROB: Control. 98 00:04:21,769 --> 00:04:25,770 ALI: Okei, joten me menossa vastaus näitä asioita samoin? 99 00:04:25,770 --> 00:04:26,190 ROB: Ai, joo. 100 00:04:26,190 --> 00:04:27,280 So - 101 00:04:27,280 --> 00:04:29,675 ALI: Voi, ei kaikkien katsella Robin starring shortsit? 102 00:04:32,430 --> 00:04:33,360 Okei, viileä. 103 00:04:33,360 --> 00:04:36,870 ROB: Joo, en usko meidän välttämättä odoteta sinulla on 104 00:04:36,870 --> 00:04:40,650 Katselin sitä ennen tuloaan tämän jakson, mutta voimme keskustella niistä 105 00:04:40,650 --> 00:04:43,870 ongelmia ennalta, koska ne ovat osiossa kysymyksiä asioita. 106 00:04:43,870 --> 00:04:46,480 Joten jos et ole katsonut sitä, älä huoli. 107 00:04:46,480 --> 00:04:48,630 Ne, jotka ovat voi yrittää vastata. 108 00:04:48,630 --> 00:04:53,875 >> Joten, ensimmäinen kysymys, mikä on pre-prosessori, miten # include 109 00:04:53,875 --> 00:04:56,080 liittyvät? 110 00:04:56,080 --> 00:04:58,440 Joten ei kellään vastausta siihen? 111 00:04:58,440 --> 00:04:59,320 ALI: Voitte puhua sitä. 112 00:04:59,320 --> 00:05:00,308 Toki, mene eteenpäin. 113 00:05:00,308 --> 00:05:03,766 SPEAKER 2: # include on valmiiksi kirjoitettu koodi, ja sen sijaan 114 00:05:03,766 --> 00:05:08,706 kopioimalla sen ja liittämällä sen oman ohjelman, jonka vain sanomalla kuuluu se, 115 00:05:08,706 --> 00:05:14,140 pre-prosessori tietää, että se on olemassa ja että se pitäisi lisätä se 116 00:05:14,140 --> 00:05:17,520 myöhemmin tai ennen kuin mitään muuta tapahtuu. 117 00:05:17,520 --> 00:05:18,466 ALI: Joo, mahtava. 118 00:05:18,466 --> 00:05:19,440 Cool. 119 00:05:19,440 --> 00:05:23,820 ROB: Eli kun olet itse ohjelmaa koostettaessa, pre-prosessori on tällä 120 00:05:23,820 --> 00:05:25,230 Ensimmäisessä vaiheessa. 121 00:05:25,230 --> 00:05:27,620 Compilation tapahtuu neljän suuren askeleen. 122 00:05:27,620 --> 00:05:31,120 Joten pre-prosessori on ensimmäinen iso, ja se on tämä kaveri, joka menee 123 00:05:31,120 --> 00:05:33,510 läpi ja etsii kaikki nämä ristikkomerkkejä. 124 00:05:33,510 --> 00:05:36,610 Ja kaikki linja, joka alkaa hash, pre-prosessori katsoo sitä ja näkee 125 00:05:36,610 --> 00:05:37,880 jos se voi käsitellä sitä. 126 00:05:37,880 --> 00:05:43,800 Joten # include kertoo pre-prosessori etsiä joitakin cs50.h 127 00:05:43,800 --> 00:05:47,830 tiedosto ja kopioi ja liitä sen sisältö tähän tiedostoon. 128 00:05:47,830 --> 00:05:50,970 Joten voit todella # include mitä haluat, mutta se on enimmäkseen olemaan 129 00:05:50,970 --> 00:05:53,700 . H tiedostoja. 130 00:05:53,700 --> 00:05:55,820 Emme ole mennyt # define vielä, joten ei ole väliä. 131 00:05:55,820 --> 00:05:57,620 ALI: Joo, olemme hyviä, että yksi. 132 00:05:57,620 --> 00:05:59,450 Onko kellään mitään kysyttävää siitä? 133 00:05:59,450 --> 00:06:01,090 Olemmeko hyviä? 134 00:06:01,090 --> 00:06:02,430 Seuraava kysymys. 135 00:06:02,430 --> 00:06:07,096 >> SPEAKER 3: lyhyt, oli jotain. C samoin? 136 00:06:07,096 --> 00:06:09,110 Onko tuo asiaan vai onko se merkityksetöntä? 137 00:06:09,110 --> 00:06:11,210 ROB: Noin. C pre-prosessori? 138 00:06:11,210 --> 00:06:13,990 SPEAKER 3: Joo, tai tein jotain? 139 00:06:13,990 --> 00:06:18,290 ROB: Niin lyhyt on saattanut näyttää esikäsittelyvaiheen tiedosto ja 140 00:06:18,290 --> 00:06:24,240 syöttöä sen toiselle. C-tiedoston, joten voit etukäteen käsitellä tämän tiedoston - 141 00:06:24,240 --> 00:06:30,000 kun vain ajaa kuten tekevät hei tai clang hello.c, teet kaikki 142 00:06:30,000 --> 00:06:31,730 kokoaminen yhden ison askeleen. 143 00:06:31,730 --> 00:06:34,780 Mutta voit nimenomaan tehdä se sen eri vaiheita. 144 00:06:34,780 --> 00:06:36,950 Joten ensimmäinen voit etukäteen käsitellä sitä. 145 00:06:36,950 --> 00:06:42,260 Sitten voit koota, voit koota, ja sitten voit linkittää. 146 00:06:42,260 --> 00:06:43,620 Saamme näihin muihin. 147 00:06:43,620 --> 00:06:47,410 Mutta esikäsittelyä, et sellaista pre-prosessin, ja sitten se menee 148 00:06:47,410 --> 00:06:49,270 toinen. C tiedosto. 149 00:06:49,270 --> 00:06:51,430 Koska esikäsittely ei oikeastaan ​​muuta mitään. 150 00:06:51,430 --> 00:06:52,800 Se on vain nippu kopioi ja liitä. 151 00:06:52,800 --> 00:06:56,760 Voisit manuaalisesti kopioida ja liittää sen itse. 152 00:06:56,760 --> 00:06:59,630 ALI: Ja on selvää,. C tiedosto on C tiedosto, joten se on 153 00:06:59,630 --> 00:07:00,930 kirjoitettu C-koodia. 154 00:07:00,930 --> 00:07:03,300 Niin se menee C-koodin C-koodia. 155 00:07:03,300 --> 00:07:05,210 Olet vain lisäämällä koodin punta. 156 00:07:05,210 --> 00:07:08,575 ROB: Kun esikäsitellään, se on silti kelvollinen C tiedostoa. 157 00:07:08,575 --> 00:07:09,940 SPEAKER 3: Okei. 158 00:07:09,940 --> 00:07:10,540 ALI: Hyvä kysymys. 159 00:07:10,540 --> 00:07:11,370 Pidän siitä. 160 00:07:11,370 --> 00:07:12,755 Okei, seuraava kysymys. 161 00:07:17,870 --> 00:07:19,660 >> Mitä kääntäjä? 162 00:07:19,660 --> 00:07:20,824 Kukaan? 163 00:07:20,824 --> 00:07:21,286 Kyllä. 164 00:07:21,286 --> 00:07:24,650 SPEAKER 4: Se muuttaa esikäsiteltyyn koodi kokoonpano. 165 00:07:24,650 --> 00:07:25,110 ALI: Perfect. 166 00:07:25,110 --> 00:07:25,390 ROB: Kyllä. 167 00:07:25,390 --> 00:07:25,720 ALI: Cool. 168 00:07:25,720 --> 00:07:28,270 ROB: Niin, että mitä kääntäjä tekee nimenomaan 169 00:07:28,270 --> 00:07:30,740 kun käytämme clang. 170 00:07:30,740 --> 00:07:35,100 Vuonna hyvin yleisessä merkityksessä, kääntäjä on aivan kuin ottaa koodia yhdellä kielellä 171 00:07:35,100 --> 00:07:37,070 ja kääntämällä se toiselle kielelle. 172 00:07:37,070 --> 00:07:38,370 Joten C - 173 00:07:38,370 --> 00:07:43,750 tai, no, clang vie koodia, joka on C ja muuttaa sitä kokoonpanoon. 174 00:07:43,750 --> 00:07:46,560 Ja sinun ei tarvitse pystyä ymmärtämään kokoonpanoon lainkaan. 175 00:07:46,560 --> 00:07:49,830 Mutta se kieli, se kääntää se. 176 00:07:49,830 --> 00:07:50,230 >> ALI: Okei. 177 00:07:50,230 --> 00:07:52,920 Ja sitten, mitä kokoaja? 178 00:07:52,920 --> 00:07:54,270 Kukaan? 179 00:07:54,270 --> 00:07:56,810 SPEAKER 5: [kuulumattomissa] binääri? 180 00:07:56,810 --> 00:07:57,260 ALI: Anteeksi, mitä? 181 00:07:57,260 --> 00:07:58,760 SPEAKER 5: [kuulumattomissa] binääri? 182 00:07:58,760 --> 00:07:59,260 ROB: Jep. 183 00:07:59,260 --> 00:07:59,880 ALI: Kyllä. 184 00:07:59,880 --> 00:08:01,960 ROB: So assembler - 185 00:08:01,960 --> 00:08:05,830 kokoonpano koodi on todella lähellä, mitä tietokone voi ymmärtää, 186 00:08:05,830 --> 00:08:09,390 mutta muista, että se ei aivan ymmärtänyt tekstin 187 00:08:09,390 --> 00:08:10,630 , joka on kokoonpano koodi. 188 00:08:10,630 --> 00:08:14,570 Sinun täytyy muuntaa sen suoraan 1s ja 0s. 189 00:08:14,570 --> 00:08:17,000 Se on kuin suora käännös prosessi. 190 00:08:17,000 --> 00:08:19,450 Voisimme vain antaa sinulle taulukon kartat mitä kukin 191 00:08:19,450 --> 00:08:21,880 Asennusohje tarkoittaa. 192 00:08:21,880 --> 00:08:24,340 Mutta kokoajan on juuri tekemässä tätä käännöstä. 193 00:08:24,340 --> 00:08:28,790 Se muuttaa kokoonpano koodi 1s ja 0s. 194 00:08:28,790 --> 00:08:30,870 >> Ali: Ja sitten, viimeinen, mitä linkkeri? 195 00:08:30,870 --> 00:08:35,070 Ja miten-lcs50 liittyy? 196 00:08:35,070 --> 00:08:37,010 Kukaan? 197 00:08:37,010 --> 00:08:41,440 ROB: Tämä on vaikein ja vähiten selitti yksi kääntäjä video. 198 00:08:41,440 --> 00:08:48,980 ALI: Muistaako kukaan näkee-lcs50 in komento? 199 00:08:48,980 --> 00:08:50,690 SPEAKER 6: Kun menit tekemään. 200 00:08:50,690 --> 00:08:51,980 Ali: Se on merkki. 201 00:08:51,980 --> 00:08:55,780 Joo, viileä, okei. 202 00:08:55,780 --> 00:09:02,024 Onko arvauksia tai epämääräisiä - kyllä, mene. 203 00:09:02,024 --> 00:09:06,370 SPEAKER 7: En ole varma, koska lyhyt oli todella [kuulumattomissa], mutta se oli 204 00:09:06,370 --> 00:09:12,244 jotain tehdä erillisiä tiedostoja keskenään kirjastoon ja sitten asettaa 205 00:09:12,244 --> 00:09:13,620 ne kaikki yhteen kirjastoon? 206 00:09:13,620 --> 00:09:14,400 ROB: Kyllä. 207 00:09:14,400 --> 00:09:23,000 Joten kun olet hello.c, se on todella yksinkertainen ohjelma. 208 00:09:23,000 --> 00:09:25,570 Olet todella vain tekevät yhden asian siihen. 209 00:09:25,570 --> 00:09:27,400 Mutta kun saat muihin ohjelmiin - 210 00:09:27,400 --> 00:09:31,700 ja kai silloinkin, kun GetString omien ohjelmiensa, sinun täytyy aloittaa 211 00:09:31,700 --> 00:09:33,830 myös muita tiedostoja. 212 00:09:33,830 --> 00:09:38,000 Joten CS50 kirjasto on yksi tällainen tiedosto, johon olemme toteutukset 213 00:09:38,000 --> 00:09:40,750 sekä GetString ja GetInt ja kaikki nämä asiat. 214 00:09:40,750 --> 00:09:45,540 Joten mitä linkkeri ei se kulkee ympäriinsä etsien läpi kaikki nämä 215 00:09:45,540 --> 00:09:49,400 tiedostoja, nähdä, missä toiminnot määritellään, varmista, että kun soitan 216 00:09:49,400 --> 00:09:52,440 GetString jonnekin, se tietää, että GetString tarkoittaa sitä, että se on 217 00:09:52,440 --> 00:09:54,910 GetString ohi CS50 kirjastossa. 218 00:09:54,910 --> 00:09:58,895 Joten linkkeri vie kaikki nämä tiedostot, murskaa ne yhteen, ja nyt 219 00:09:58,895 --> 00:10:01,020 sinulla on suoritettava. 220 00:10:01,020 --> 00:10:05,600 Joten pitää mielessä, jos käytät CS50 kirjasto, tarvitset sekä 221 00:10:05,600 --> 00:10:10,370 # Include huipulla, ja sitten myös oma merkki komennon, kun 222 00:10:10,370 --> 00:10:12,630 sanoi, sinulla on oltava-lcs50. 223 00:10:12,630 --> 00:10:15,720 Joten et voi vain olla yksi. 224 00:10:15,720 --> 00:10:18,294 Joten se on vain jotain pitää mielessä tulevaa tarvetta varten. 225 00:10:18,294 --> 00:10:22,550 >> SPEAKER 8: Niin, sanokaamme oli toinen kirjasto, kuten cs51.h, voisimme 226 00:10:22,550 --> 00:10:26,780 myös lisätä, lcs51? 227 00:10:26,780 --> 00:10:32,390 ROB: Ainoa syy tähän-lcs50 toimii täydellisesti, koska meillä on se joukko 228 00:10:32,390 --> 00:10:35,800 vuonna erityinen paikka teidän laitteissa siten, että se tietää mitä 229 00:10:35,800 --> 00:10:38,550 -Lcs50 keinoin. 230 00:10:38,550 --> 00:10:43,240 Voisimme vain antaa sinulle cs50.c tiedoston, ja sitten voit kääntää sen sanoen 231 00:10:43,240 --> 00:10:49,050 Clang hello.c cs50.c, ja sitten se tee suoritettavissa laittamalla 232 00:10:49,050 --> 00:10:50,350 nämä kaksi tiedostoa yhteen. 233 00:10:50,350 --> 00:10:56,520 Se tietää, että-lcs50 tarkoittaa cs50.c yli joissakin hakemistossa että me määritetty 234 00:10:56,520 --> 00:10:58,350 laitteillesi. 235 00:10:58,350 --> 00:11:04,290 Joten jos halusi cs51.c olla määriteltävissä vain hieman sanomalla-lcs51, 236 00:11:04,290 --> 00:11:06,760 Silloin meidän täytyy myös laittaa se, että hakemistoon joten se tietää mistä 237 00:11:06,760 --> 00:11:08,636 etsiä sitä. 238 00:11:08,636 --> 00:11:10,510 ALI: Mikä oli kysymys? 239 00:11:10,510 --> 00:11:13,975 >> SPEAKER 7: Miksi sinun täytyy yhdistää CS50 240 00:11:13,975 --> 00:11:18,940 jos - wasn't se kopioi / liittää ensimmäisessä vaiheessa kun esikäsitellyt sitä? 241 00:11:18,940 --> 00:11:19,700 ALI: Haluatko sen? 242 00:11:19,700 --> 00:11:20,880 ROB: Toki. 243 00:11:20,880 --> 00:11:28,028 Joten cs50.h tiedosto on erillinen cs50.c C tiedostoa. 244 00:11:28,028 --> 00:11:33,652 Oletko saanut toimimaan prototyyppejä luokassa? 245 00:11:33,652 --> 00:11:34,350 Okei. 246 00:11:34,350 --> 00:11:40,255 Joten periaatteessa, cs50.h tiedosto on juuri menossa kopioi ja liitä - 247 00:11:40,255 --> 00:11:44,040 ALI: Tiedättekö mitä allekirjoituksia? 248 00:11:44,040 --> 00:11:46,580 Okei, niin aika paljon, jos tarkastellaan - 249 00:11:46,580 --> 00:11:50,530 ROB: Teeskennelläänpä cs50.h ei ole siellä. 250 00:11:50,530 --> 00:11:52,960 Nyt tämä tiedosto - 251 00:11:52,960 --> 00:11:56,090 teet string s = GetString. 252 00:11:56,090 --> 00:11:59,350 Mutta kun olemme päässeet tähän kohtaan koodia, sillä ei ole aavistustakaan, mitä 253 00:11:59,350 --> 00:12:00,230 GetString on. 254 00:12:00,230 --> 00:12:02,600 Se tietää, että se toiminto, koska soitat sitä. 255 00:12:02,600 --> 00:12:06,500 Mutta se ei tiedä, että se on todella tarkoitus palauttaa merkkijonon. 256 00:12:06,500 --> 00:12:14,530 Niin kuin sanoin, string s = GetInt, tämä ei ole mitään järkeä, koska 257 00:12:14,530 --> 00:12:17,530 olet allekirjoittamista kokonaisluvun merkkijono. 258 00:12:17,530 --> 00:12:22,270 Mutta se ei tiedä, että GetString järkevää, koska se ei 259 00:12:22,270 --> 00:12:24,380 tietävät, että GetString palauttaa merkkijonon. 260 00:12:24,380 --> 00:12:28,220 Joten mikä cs50.h sanoo on jotain tällaista. 261 00:12:33,070 --> 00:12:37,750 ALI: Mitä Rob on kirjoittaa on, se on lupaus, että se tulee 262 00:12:37,750 --> 00:12:41,280 on tämä toiminto nimeltä GetString. 263 00:12:41,280 --> 00:12:45,250 ROB: Tämä on kaikki cs50.h on kopioimalla täällä, samoin 264 00:12:45,250 --> 00:12:47,620 kuten GetInt ja kaikki nämä asiat. 265 00:12:47,620 --> 00:12:51,520 Ja tämä vain sanoo että GetString ei palauta merkkijono. 266 00:12:51,520 --> 00:12:54,830 Et tiedä miten se on toteutettu vielä, mutta kun pääsemme tätä linjaa, nyt 267 00:12:54,830 --> 00:12:57,760 se tietää, että se oikein palauttaa merkkijonon. 268 00:12:57,760 --> 00:13:03,022 >> SPEAKER 9: Eli jos emme vaivaudu kanssa # include juttu ja sen sijaan 269 00:13:03,022 --> 00:13:07,130 juuri kirjoitti prototyyppi ne, joita todella aio käyttää? 270 00:13:07,130 --> 00:13:07,330 ROB: Joo. 271 00:13:07,330 --> 00:13:08,870 Joten suorita tätä. 272 00:13:08,870 --> 00:13:09,110 SPEAKER 9: Onko se? 273 00:13:09,110 --> 00:13:13,670 Joten, oletusarvoisesti, se tekisi-l CS50 vain siksi -. 274 00:13:13,670 --> 00:13:14,740 ROB: - ilmaisu. 275 00:13:14,740 --> 00:13:19,370 ALI: Kyllä, koska kuten sanoit, se on merkki tiedoston. 276 00:13:19,370 --> 00:13:24,040 ROB: cs50.h myös sattuu olemaan typedef char * merkkijono. 277 00:13:24,040 --> 00:13:26,950 Voit täysin välittämättä siitä, mitä se merkitsee nyt. 278 00:13:26,950 --> 00:13:31,430 Mutta se on myös jotain sisältyvät cs50.h. 279 00:13:31,430 --> 00:13:34,230 Joten nyt asiat toimivat hienosäätää. 280 00:13:34,230 --> 00:13:40,770 Se toimii täsmälleen sama kuin se oli silloin, kun meillä oli vain 281 00:13:40,770 --> 00:13:45,120 # include. 282 00:13:45,120 --> 00:13:49,200 Ja niin lukien cs50.h tapahtuu yli-sisältyä asioita tarvitset - 283 00:13:49,200 --> 00:13:53,080 kuten, et käytä GetInt tässä ohjelmassa, mutta sillä ei ole väliä. 284 00:13:53,080 --> 00:13:55,010 Se täytyy vain sivuuttaa sitä. 285 00:13:55,010 --> 00:14:02,400 Ali: Ja sitten kun teet-lcs50 tänne ja täällä, mitä 286 00:14:02,400 --> 00:14:05,290 siitä on se, että se ottaa itse toteutettavissa koodi. 287 00:14:05,290 --> 00:14:07,530 Niin, että jos se todellisuudessa on, tekee - 288 00:14:07,530 --> 00:14:09,090 kirjallisesti koodi GetString. 289 00:14:09,090 --> 00:14:11,180 Joten se ei ole vain lupaus enää. 290 00:14:11,180 --> 00:14:16,520 Se on todella menossa läpi ja ottaen merkkijono ja kaikkea sellaista. 291 00:14:16,520 --> 00:14:17,600 Järkeä? 292 00:14:17,600 --> 00:14:22,640 Kysymyksiä? Selvä. 293 00:14:22,640 --> 00:14:24,466 Cool pavut. 294 00:14:24,466 --> 00:14:27,630 >> ROB: Nyt voimme siirtyä varsinaiseen koodiin. 295 00:14:27,630 --> 00:14:28,780 ALI: Okei. 296 00:14:28,780 --> 00:14:33,340 Joten tässä on ensimmäinen ongelma. 297 00:14:33,340 --> 00:14:36,910 Niin se sanoo kirjoittaa ohjelma, joka kysyy käyttäjältä pieniä 298 00:14:36,910 --> 00:14:40,540 kirjain ja sitten muuntaa se isoiksi ilman peiton 299 00:14:40,540 --> 00:14:43,590 toiminnot, kuten per mallitulosteita alla. 300 00:14:43,590 --> 00:14:48,780 Voit siis nähdä, käynnistät ohjelman kanssa. / A.out, ja sitten olet 301 00:14:48,780 --> 00:14:53,320 menossa laittaa pieniä, ja sitten ohjelma pitäisi antaa pääomaa 302 00:14:53,320 --> 00:15:00,590 A. Joten miksi et kaverit kaikki antaa sille laukaus CS50 tilat? 303 00:15:00,590 --> 00:15:03,360 Joten te mennä kaikki tänne. 304 00:15:03,360 --> 00:15:06,650 Ja voit poistaa kaikki koodi tähän. 305 00:15:06,650 --> 00:15:12,140 Ja sitten voit mennä eteenpäin ja aloittaa koodaus juttu. 306 00:15:12,140 --> 00:15:14,590 ROB: Luultavasti haluat käyttää GetChar, joka on 307 00:15:14,590 --> 00:15:16,190 sisällytetty CS50 kirjastossa. 308 00:15:16,190 --> 00:15:18,770 ALI: Kai se voisi olla parempi, jos tallennat yläosa. 309 00:15:21,452 --> 00:15:23,805 Joten kannattaa vain vaihtaa tavaraa keskellä. 310 00:15:28,710 --> 00:15:29,070 Menkää ja työtä. 311 00:15:29,070 --> 00:15:30,530 Voit vapaasti työskennellä toistensa kanssa. 312 00:15:30,530 --> 00:15:32,360 Rob: Ja voit kysyä, jos sinulla on - 313 00:15:32,360 --> 00:15:33,450 >> SPEAKER 10: Mikä on bittioperaatio? 314 00:15:33,450 --> 00:15:35,100 ROB: Niin, sivuuttaa, että tähän ongelmaan. 315 00:15:35,100 --> 00:15:36,330 ALI: Jos et tiedä sitä, että on hyvä. 316 00:15:36,330 --> 00:15:38,300 ROB: Aiomme käyttää sitä seuraava ongelma. 317 00:15:38,300 --> 00:15:40,750 Mutta jos et tiedä mitä bittioperaattori on, se on hienoa. 318 00:15:40,750 --> 00:15:43,575 SPEAKER 10: Onko like kääntämällä ASCII-koodi? 319 00:15:43,575 --> 00:15:44,050 ALI: Ei 320 00:15:44,050 --> 00:15:44,750 ROB: Ei 321 00:15:44,750 --> 00:15:46,220 Voit tehdä tämän ongelman. 322 00:15:46,220 --> 00:15:48,280 SPEAKER 10: Miten teette sen? 323 00:15:48,280 --> 00:15:52,460 Joten jos vain olisin jonnekin kirjoittaa - 324 00:15:52,460 --> 00:15:54,670 ALI: Tai jotain kirjoittamaan. 325 00:15:54,670 --> 00:15:56,780 ROB: Voisin juuri sellainen tyyppi tähän. 326 00:15:56,780 --> 00:15:59,045 ALI: Kirjoita yläreunassa. 327 00:15:59,045 --> 00:16:01,390 ROB: Voi, olen istuu mic. 328 00:16:01,390 --> 00:16:10,860 >> Joten näimme luento että ASCII arvo pääoma on 65. 329 00:16:10,860 --> 00:16:13,670 Ja pääoman B on 66, ja niin edelleen. 330 00:16:13,670 --> 00:16:20,860 Voit siis kirjaimellisesti käyttää '' tarkoitetaan numero 65. 331 00:16:20,860 --> 00:16:24,600 Like, tämä on arvo 65. 332 00:16:24,600 --> 00:16:30,950 Voin tehdä jotain int x = 100 - "". Ja nyt x on arvo 333 00:16:30,950 --> 00:16:33,810 100-65. 334 00:16:33,810 --> 00:16:36,708 ALI: Voit ajaa että ja osoittavat. 335 00:16:36,708 --> 00:16:38,420 Voi, ehkä ei. 336 00:16:38,420 --> 00:16:38,600 Ei se haittaa. 337 00:16:38,600 --> 00:16:40,970 ROB: Minulla oli tulostaa sen. 338 00:16:40,970 --> 00:16:43,730 SPEAKER 10: Miten kääntää sen takaisin merkki? 339 00:16:43,730 --> 00:16:46,800 ALI: Joten jos älä - 340 00:16:46,800 --> 00:16:51,450 juuri pakottaa sen olevan char, vastaa. 341 00:16:51,450 --> 00:16:53,630 ROB: Niin on - 342 00:16:53,630 --> 00:16:58,440 ero nieriää ja kokonaisluku on vain kooltaan. 343 00:16:58,440 --> 00:17:01,230 Joten kokonaisluku sattuu olemaan voivat edustaa asioita 344 00:17:01,230 --> 00:17:02,600 on, niinku, neljä miljardia euroa. 345 00:17:02,600 --> 00:17:05,839 Nieriä on vain pystyy edustamaan asioita jopa 255. 346 00:17:05,839 --> 00:17:08,390 Mutta ei ole eroa muuta kuin tätä. 347 00:17:08,390 --> 00:17:12,339 Joten voit sanoa char c = 65. 348 00:17:12,339 --> 00:17:24,204 Se vastaa sanomalla char c vastaa ". 349 00:17:24,204 --> 00:17:25,210 ALI: Voi ei. 350 00:17:25,210 --> 00:17:26,710 Se ei oikeastaan ​​tallenna asioita. 351 00:17:26,710 --> 00:17:28,130 ROB: Ei, et voi tehdä sitä. 352 00:17:28,130 --> 00:17:31,610 Ali: Se on vain - 353 00:17:31,610 --> 00:17:34,920 [Murahtaa] 354 00:17:34,920 --> 00:17:40,700 >> ROB: Okei, joten mitä Ali juuri kirjoitin, oli ohjelma, joka ensin tulostaa 100 - 355 00:17:40,700 --> 00:17:46,290 "A" kuin kokonaisluku, joka oli 35, kuten odotamme, koska 100 miinus ASCII 356 00:17:46,290 --> 00:17:48,580 A: n arvo on 65. 357 00:17:48,580 --> 00:17:54,100 Sitten hän tulostaa käyttämällä% c, mikä tarkoittaa tulkita sen char. 358 00:17:54,100 --> 00:17:57,050 Joten 100 - on 35. 359 00:17:57,050 --> 00:18:00,990 Tulkitaan, että merkin sattuu olemaan hash symboli. 360 00:18:00,990 --> 00:18:06,160 Jos tarkastellaan asciitable.com tai mitä tahansa, huomaat, että 35 on 361 00:18:06,160 --> 00:18:07,410 hash symboli. 362 00:18:09,940 --> 00:18:12,700 ALI: Okei, muita selvennyksiä ongelmasta? 363 00:18:16,000 --> 00:18:18,180 Okei, te voi mennä eteenpäin ja tehdä sen jälkeen. 364 00:18:18,180 --> 00:18:20,330 Voit vapaasti kysyä tai puhua toisilleen. 365 00:18:20,330 --> 00:18:24,390 Tai jos olet jo tehnyt, voit rentoutua. 366 00:18:24,390 --> 00:18:29,640 >> LUCAS: Ovatko ne samaan luokkaan, kaikki pienillä kirjaimilla järjestyksessä ja 367 00:18:29,640 --> 00:18:32,923 Myös isot ovat kunnossa, koska se on jotain hyödyllistä 368 00:18:32,923 --> 00:18:33,990 ongelma. 369 00:18:33,990 --> 00:18:35,620 ALI: Hyvä pointti, Lucas. 370 00:18:35,620 --> 00:18:37,430 Joten, ei te kaikki tuon? 371 00:18:37,430 --> 00:18:37,640 SPEAKER 11: Kyllä. 372 00:18:37,640 --> 00:18:39,535 Näin teet sen, eikö? 373 00:18:39,535 --> 00:18:39,960 ALI: Oikea. 374 00:18:39,960 --> 00:18:40,415 ROB: Joo. 375 00:18:40,415 --> 00:18:47,270 SPEAKER 11: [kuulumattomissa] 376 00:18:47,270 --> 00:18:48,330 ALI: Selvä. 377 00:18:48,330 --> 00:18:49,350 ROB: Mikä on kysymys kysyy? 378 00:18:49,350 --> 00:18:50,590 Vain muuntaa - 379 00:18:50,590 --> 00:18:52,560 ALI: Muunna pieniä ja isoja. 380 00:18:52,560 --> 00:18:53,100 Siinä kaikki. 381 00:18:53,100 --> 00:18:54,700 ROB: Okei. 382 00:18:54,700 --> 00:18:56,180 ALI: Pitäisikö meidän kirjoittaa sen? 383 00:18:56,180 --> 00:18:59,340 Kai me katsokaa jonkun muun. 384 00:18:59,340 --> 00:19:07,140 ROB: Eli niille, jotka saattavat olla kiinni, niin - 385 00:19:07,140 --> 00:19:15,160 jos minulla on joitakin char c ja sanokaamme se sattuu olemaan kirjain D. 386 00:19:15,160 --> 00:19:20,760 Joten nyt, miten voin selvittää, mitä kirjain C? 387 00:19:20,760 --> 00:19:25,620 Ei D, mutta en tarkoita, D sattuu olemaan neljäs kirjaimen. 388 00:19:25,620 --> 00:19:28,910 Ja jos lähdetään laskien 0, niin se kolmas kirjaimen. 389 00:19:28,910 --> 00:19:36,240 Joten jos on 0, B on 1, C 2, D on 3, miten voin selvittää int asema - 390 00:19:36,240 --> 00:19:40,780 mikä asento aakkoset C on? 391 00:19:40,780 --> 00:19:42,333 Onko kellään mitään ideoita? 392 00:19:42,333 --> 00:19:45,440 ALI: Minusta he kaikki koodaus. 393 00:19:45,440 --> 00:19:46,440 ROB: Entä ensimmäinen? 394 00:19:46,440 --> 00:19:48,608 SPEAKER 12: Niin mitä on, vähennä ensimmäinen? 395 00:19:48,608 --> 00:19:49,030 ROB: Joo. 396 00:19:49,030 --> 00:19:49,950 ALI: Joo, mahtava. 397 00:19:49,950 --> 00:19:51,765 Joten voisit tehdä pääoman D - 398 00:19:51,765 --> 00:19:52,840 Anteeksi. 399 00:19:52,840 --> 00:19:55,620 Otat merkki ja te vähennä ensimmäinen, kuten sanoit. 400 00:19:55,620 --> 00:20:03,940 ROB: Joten jos D on jotain 68, ja me vähennämme, joka on 65, niin saamme 401 00:20:03,940 --> 00:20:07,130 3, kertoo meille, että D on kolmas kirjaimen 402 00:20:07,130 --> 00:20:09,290 alkaen 0. 403 00:20:09,290 --> 00:20:11,310 Joten voit käyttää sitä. 404 00:20:11,310 --> 00:20:13,830 Nyt tiedämme, mitä kirjaimen, mitattuna 405 00:20:13,830 --> 00:20:16,060 isoja kirjaimia, tai - 406 00:20:16,060 --> 00:20:18,330 voisimme tehdä saman asian pieniä kirjaimia selvittää, mitä 407 00:20:18,330 --> 00:20:20,170 pieniksi kanta olemme tuumaa 408 00:20:20,170 --> 00:20:25,690 Ja voimme käyttää sitä sitten muuntaa että isoiksi käyttäen 409 00:20:25,690 --> 00:20:26,970 hyvin samankaltainen idea. 410 00:20:31,470 --> 00:20:32,670 Kysy ehdotuksia? 411 00:20:32,670 --> 00:20:35,810 >> ALI: Onko teillä - Odota, en tiedä kuinka paljon te olette. 412 00:20:35,810 --> 00:20:40,060 Onko useimmat teistä tehnyt, olet vielä töissä, olet jumissa? 413 00:20:40,060 --> 00:20:42,020 Te voi huutaa - 414 00:20:42,020 --> 00:20:42,330 jumissa. 415 00:20:42,330 --> 00:20:43,210 Yksi henkilö on jumissa. 416 00:20:43,210 --> 00:20:43,560 Cool. 417 00:20:43,560 --> 00:20:44,700 Minulla on tapana olla jumissa myös. 418 00:20:44,700 --> 00:20:45,415 SPEAKER 13: olen valmis. 419 00:20:45,415 --> 00:20:46,410 ALI: Olet valmis? 420 00:20:46,410 --> 00:20:47,480 Okei. 421 00:20:47,480 --> 00:20:47,935 Valmis. 422 00:20:47,935 --> 00:20:49,300 SPEAKER 13: [kuulumattomissa] 423 00:20:49,300 --> 00:20:50,600 ALI: Joo, viileä. 424 00:20:50,600 --> 00:20:53,720 Oletko tarkistaa, että se on pienillä muodossa? 425 00:20:53,720 --> 00:20:56,730 Okei, viileä. 426 00:20:56,730 --> 00:20:59,882 Missä ovat muut ihmiset? 427 00:20:59,882 --> 00:21:06,140 Oliko tämä vihje auttaa, kuten YK-kiinni itse? 428 00:21:06,140 --> 00:21:09,778 SPEAKER 14: Ei oikeastaan, mutta vain siksi, en tiedä, en ole 429 00:21:09,778 --> 00:21:11,590 sulattamaan sitä vielä. 430 00:21:11,590 --> 00:21:12,640 ALI: Okei, viileä. 431 00:21:12,640 --> 00:21:13,431 Haluatko kokeilla - 432 00:21:13,431 --> 00:21:16,140 vai haluatko mennä puhumaan? 433 00:21:16,140 --> 00:21:18,590 >> ROB: mitä aioin sanoa, - 434 00:21:18,590 --> 00:21:19,890 niin käyttämällä tätä. 435 00:21:19,890 --> 00:21:22,650 Ymmärrätkö, miten saimme mitä kanta aakkoset 436 00:21:22,650 --> 00:21:24,820 kirjain on? 437 00:21:24,820 --> 00:21:30,616 SPEAKER 14: Okei, joten kun laitat asioita puolilainausmerkkien, 438 00:21:30,616 --> 00:21:35,030 joka palauttaa numeron? 439 00:21:35,030 --> 00:21:37,100 ROB: Kyllä. 440 00:21:37,100 --> 00:21:40,840 Se kääntää ASCII arvoa se edustaa. 441 00:21:40,840 --> 00:21:43,350 Joten haluat mennä ASCII taulukon tai mikä se on? 442 00:21:46,456 --> 00:21:47,840 ALI: Vain yksi näistä? 443 00:21:47,840 --> 00:21:49,970 ROB: Jep. 444 00:21:49,970 --> 00:21:55,270 Joten kun laittaa jokin näistä symboleista, välittämättä paljon - 445 00:21:55,270 --> 00:21:56,450 ALI: [kuulumattomissa] 446 00:21:56,450 --> 00:21:57,620 ROB: Voi, käyttämällä kohdistinta. 447 00:21:57,620 --> 00:21:58,380 Ali: Joo. 448 00:21:58,380 --> 00:21:59,690 Se oli jännittävää. 449 00:21:59,690 --> 00:22:04,050 ROB: Niin, unohdetaan nämä ovat vasemmalla, jotka ovat erikoismerkkejä - 450 00:22:04,050 --> 00:22:08,520 jos laitat jotakin näistä symboleista puolilainausmerkeissä, niin se on 451 00:22:08,520 --> 00:22:11,620 käännetty tähän arvoon vasemmalla. 452 00:22:11,620 --> 00:22:13,660 ALI: Tämä on desimaaliluku sitä. 453 00:22:13,660 --> 00:22:19,710 Se on kuin otteluita 65, B 66, ja huomaat, että he kaikki 454 00:22:19,710 --> 00:22:21,540 aakkosjärjestyksessä, mikä tekee eron. 455 00:22:21,540 --> 00:22:27,110 Niin, kuten Rob sanoo, ennen, koska koodin, olimme laskea etäisyys 456 00:22:27,110 --> 00:22:29,610 ensimmäinen kirjain, sinänsä. 457 00:22:29,610 --> 00:22:32,820 Ja että tulee olemaan sama, onko se isoilla tai pienillä. 458 00:22:32,820 --> 00:22:38,390 ROB: Joten kun teimme D, 68 miinus, 65, saamme 3. 459 00:22:38,390 --> 00:22:42,370 Koska D on kolme asentoa osaksi aakkoset. 460 00:22:42,370 --> 00:22:46,680 ALI: Joten miten voit kääntää että yli löytämään pikku d? 461 00:22:46,680 --> 00:22:47,240 ROB: Joo. 462 00:22:47,240 --> 00:22:52,230 Joten jos minulla on 3 nyt, tiedän halua mennä kolme kirjainta osaksi - 463 00:22:52,230 --> 00:22:54,830 satumme menevän pieniä nyt, mutta sanotaanko haluan mennä kolmen 464 00:22:54,830 --> 00:22:58,610 kannat otetaan pieni puolta. 465 00:22:58,610 --> 00:23:01,400 Niin miten voin tehdä sen? 466 00:23:01,400 --> 00:23:04,240 Tiedän pieniksi on 97. 467 00:23:04,240 --> 00:23:07,535 Joten miten löydän kolmesta osaksi pieniä kirjaimia? 468 00:23:10,461 --> 00:23:11,934 >> SPEAKER 15: Minulla on yksi kysymys oikeastaan. 469 00:23:11,934 --> 00:23:12,425 ALI: Joo, mene eteenpäin. 470 00:23:12,425 --> 00:23:14,880 SPEAKER 15: Joten tämä, sillä ei ole väliä, jos tiedän tämän kannan, 471 00:23:14,880 --> 00:23:16,360 kuten en tarvitse tätä taulukkoa. 472 00:23:16,360 --> 00:23:16,840 ROB: Nope. 473 00:23:16,840 --> 00:23:19,380 Sinun ei tarvitse koskaan käyttää mitään näistä numeroista. 474 00:23:19,380 --> 00:23:23,670 Ja tämä on tärkeä kohta ohjelmat että sinun pitäisi koskaan kovaa 475 00:23:23,670 --> 00:23:25,500 koodata mitä tahansa näitä vakioita. 476 00:23:25,500 --> 00:23:31,190 Käytä "". koskaan käytä 65 tai 97. 477 00:23:31,190 --> 00:23:34,370 ALI: Näitä kutsutaan Magic Numbers, ja he todella sekava. 478 00:23:34,370 --> 00:23:37,080 Kuten, kun olet debuggaus koodia, et ehkä muista mitä 479 00:23:37,080 --> 00:23:38,020 olet käyttänyt niitä. 480 00:23:38,020 --> 00:23:40,770 Ja meille luokittelua koodisi, emme todellakaan tiedä mitä 481 00:23:40,770 --> 00:23:41,750 käytät niitä. 482 00:23:41,750 --> 00:23:44,815 Joten se on parempi, jos itse käyttää merkkejä niin se tekee 483 00:23:44,815 --> 00:23:46,065 järkevämpää ihmisiä. 484 00:23:49,460 --> 00:23:51,160 Okei, muuta kysyttävää? 485 00:23:51,160 --> 00:23:52,975 Enemmän ihmisiä tehneet, tai - 486 00:23:56,243 --> 00:23:57,493 Kai me voidaan tarkistaa. 487 00:23:59,870 --> 00:24:02,410 On todella pelottavaa, että näet ihmisten koodia. 488 00:24:02,410 --> 00:24:04,970 ROB: Joo. 489 00:24:04,970 --> 00:24:06,410 Meillä ei tarvitse tehdä sitä täällä. 490 00:24:06,410 --> 00:24:08,380 Emme tiedä ihmisten nimiä, joko. 491 00:24:08,380 --> 00:24:10,940 ALI: Ai joo, hyvin, että tekee sen paremmin, joten me olla vieläkin puolueeton 492 00:24:10,940 --> 00:24:14,820 sijasta satunnaisesti picking joku. 493 00:24:14,820 --> 00:24:15,360 Älä huoli. 494 00:24:15,360 --> 00:24:16,265 En tee sitä. 495 00:24:16,265 --> 00:24:20,396 Jos sinulla on satunnaisia ​​asioita - puhumattakaan. 496 00:24:20,396 --> 00:24:20,870 Okei. 497 00:24:20,870 --> 00:24:22,556 Miten ihmiset tekevät? 498 00:24:22,556 --> 00:24:26,950 >> SPEAKER 17: Eli yhdeksäs rivi pitäisi tulostaa merkki? 499 00:24:26,950 --> 00:24:27,430 ROB: Kyllä. 500 00:24:27,430 --> 00:24:27,910 Ali: Joo. 501 00:24:27,910 --> 00:24:30,770 Joten jos et mene alas - 502 00:24:30,770 --> 00:24:32,200 ROB: Voi, voi tehdä sitä. 503 00:24:32,200 --> 00:24:35,400 ALI: Näet, että se tulostetaan hash symboli. 504 00:24:35,400 --> 00:24:37,180 SPEAKER 17: Ai, okei. 505 00:24:37,180 --> 00:24:41,290 ROB: Luulen toinen tapa voit katsoa asioita on me tulostetaan kaksi 506 00:24:41,290 --> 00:24:42,540 merkkiä. 507 00:24:44,500 --> 00:24:47,740 Ensin olemme tulostus on kirjain A. 508 00:24:47,740 --> 00:24:51,610 Seuraava olemme tulostaa vain 65. 509 00:24:51,610 --> 00:24:54,450 Se luultavasti huutaa minulle näistä. 510 00:24:54,450 --> 00:25:00,060 Eli jos me vain suorittaa tämän, huomaat, että se tulostaa molemmilla kerroilla. 511 00:25:00,060 --> 00:25:02,070 Koska me pyydämme sitä samaa. 512 00:25:02,070 --> 00:25:07,840 Pyydämme se tulostaa kirjaimen A. Ja sitten pyydämme sitä tulostamaan 513 00:25:07,840 --> 00:25:13,820 numero 65 tulkitaan merkki, joka on sama asia. 514 00:25:13,820 --> 00:25:15,100 ALI: Onko sinulla jotain sanottavaa? 515 00:25:15,100 --> 00:25:18,150 Voi vain leikkiä, anteeksi. 516 00:25:18,150 --> 00:25:20,640 Okei, miten ihmisiä - 517 00:25:20,640 --> 00:25:22,280 ROB: Voimme kävellä sen läpi. 518 00:25:22,280 --> 00:25:25,250 >> ALI: Okei, joten miten aloitat? 519 00:25:25,250 --> 00:25:26,500 Kukaan? 520 00:25:28,030 --> 00:25:34,486 Kuten vihje, meidän täytyy saada jotain ihmisiä, typers. 521 00:25:34,486 --> 00:25:36,850 SPEAKER 18: [kuulumattomissa] 522 00:25:36,850 --> 00:25:38,290 ALI: Ai joo, nopea, täydellinen. 523 00:25:38,290 --> 00:25:40,660 Joten me kirjoittaa - 524 00:25:40,660 --> 00:25:41,670 Mitä me kirjoita? 525 00:25:41,670 --> 00:25:43,660 Kukaan? 526 00:25:43,660 --> 00:25:46,480 Vai pitäisikö minun vain kirjoittaa sitä? 527 00:25:46,480 --> 00:25:47,530 Me oikeastaan ​​kirjoittaa - 528 00:25:47,530 --> 00:25:48,430 ROB: Toki. 529 00:25:48,430 --> 00:25:50,990 Ali: Niin me kirjoita printf kysymään sitä, joten voimme olla 530 00:25:50,990 --> 00:25:54,810 kuten, anna minulle merkki. 531 00:25:54,810 --> 00:25:55,710 Okei, ja mitä sitten? 532 00:25:55,710 --> 00:25:56,664 Miksi se tekee niin? 533 00:25:56,664 --> 00:25:57,620 ROB: En tiedä. 534 00:25:57,620 --> 00:26:00,070 ALI: Okei. 535 00:26:00,070 --> 00:26:03,680 Joten nyt me kerromme heille antaa meille merkin. 536 00:26:03,680 --> 00:26:07,064 Mutta miten itse tuon merkin? 537 00:26:07,064 --> 00:26:10,060 SPEAKER 19: Käytä GetString. 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 Okei, joten mitä eroa merkkijono ja char? 541 00:26:17,038 --> 00:26:20,020 SPEAKER 19: Strings ovat sarja, kuten erilaisia ​​merkkejä. 542 00:26:20,020 --> 00:26:21,910 >> ALI: Cool, joo. 543 00:26:21,910 --> 00:26:25,550 Joten tämä ongelma, meidän tarvitsee vain harkita yhden merkin kerrallaan, joten 544 00:26:25,550 --> 00:26:28,400 me vain teemme GetChar tähän ilmentymään. 545 00:26:28,400 --> 00:26:32,400 ROB: Voisimme toteuttaa toimia, jos haluamme, että kesti koko merkkijono 546 00:26:32,400 --> 00:26:35,750 ja meni merkkijonon ja muuttaa kaikkia pieniä ja isoja, ja kaikki 547 00:26:35,750 --> 00:26:37,380 isoiksi pieniksi. 548 00:26:37,380 --> 00:26:39,170 Mutta täällä, me vain pyytää teitä yhden merkin. 549 00:26:39,170 --> 00:26:42,800 ALI: Eli nyt meillä on merkki täällä, mutta meidän täytyy pelastaa se. 550 00:26:42,800 --> 00:26:45,070 Joten me lisäämme char c - mitä? 551 00:26:45,070 --> 00:26:46,070 SPEAKER 20: Määrittele muuttuja. 552 00:26:46,070 --> 00:26:48,100 ALI: Joo, aivan. 553 00:26:48,100 --> 00:26:49,585 Joten meillä on luonnetta. 554 00:26:49,585 --> 00:26:51,766 ROB: Luulen saatat olla - 555 00:26:51,766 --> 00:26:55,630 olet vain kolme tiloja, minkä vuoksi se huutaa sinua. 556 00:26:55,630 --> 00:27:01,300 >> ALI: Okei, viileä, nyt kun olemme tabbing joukko, mitä tapahtuu seuraavaksi? 557 00:27:01,300 --> 00:27:02,550 Mikä on seuraava askel? 558 00:27:05,590 --> 00:27:08,870 ROB: Mitä meidän ohjelma pitää muuttaa kirjain on 559 00:27:08,870 --> 00:27:10,130 iso kirjain. 560 00:27:10,130 --> 00:27:15,478 Mitä jos satun tulla hash symboli? 561 00:27:15,478 --> 00:27:16,314 Onko tuo - 562 00:27:16,314 --> 00:27:16,732 Ali: Se on hyvä merkki. 563 00:27:16,732 --> 00:27:18,270 Käytämme sitä paljon. 564 00:27:18,270 --> 00:27:21,937 ROB: Onko se kelvollinen Voin muuntaa ison muotoon? 565 00:27:21,937 --> 00:27:23,070 SPEAKER 21: Ei 566 00:27:23,070 --> 00:27:24,070 ALI: Ei 567 00:27:24,070 --> 00:27:24,900 Meidän pitäisi tarkistaa, että. 568 00:27:24,900 --> 00:27:34,950 Joten voimme olla, jos ilmoitus tarkkailun joten jos c on suurempi kuin 569 00:27:34,950 --> 00:27:37,410 tai yhtä suuri kuin pieniä "a'- 570 00:27:37,410 --> 00:27:45,490 joten jos katsomme kaavio, huomaat, että sen täytyy olla välillä täällä, 571 00:27:45,490 --> 00:27:47,670 klo 97, ja pieniä. 572 00:27:47,670 --> 00:27:52,110 Ja se voi olla mikä tahansa näistä, ja lisäyksin kaikki alas. 573 00:27:52,110 --> 00:27:55,200 Ja sitten on z 122. 574 00:27:55,200 --> 00:27:58,215 Ja se on laskea näiden kahden arvon välillä. 575 00:27:58,215 --> 00:27:59,700 Onko siinä järkeä? 576 00:27:59,700 --> 00:28:04,130 ROB: Joten jos c ei ole välillä 97 ja 122 - 577 00:28:04,130 --> 00:28:09,960 tai sinun pitäisi koskaan tarvitse käyttää näitä numeroita - jos C ei ole välillä "" ja 578 00:28:09,960 --> 00:28:15,110 'Z', niin se ei ollut kelvollinen merkki meille isoiksi. 579 00:28:15,110 --> 00:28:18,590 Ali: Niin koodimuodossa, sanomme, että jos c on suurempi tai yhtä suuri kuin yhden 580 00:28:18,590 --> 00:28:19,640 Jos pienet - 581 00:28:19,640 --> 00:28:21,270 wow, miten sanot? 582 00:28:21,270 --> 00:28:26,900 Kunnossa, on suurempi tai yhtä suuri kuin pieniä "a", ja sen on oltava edellä 583 00:28:26,900 --> 00:28:32,250 pieniä "Z". Niin sen on oltava pienempi tai yhtä suuri pieniksi "z". 584 00:28:32,250 --> 00:28:35,300 Teemme varmasti se välillä. 585 00:28:35,300 --> 00:28:38,540 Sitten voimme jatkaa meidän onnellinen koodilla. 586 00:28:41,992 --> 00:28:43,360 Mitä? 587 00:28:43,360 --> 00:28:46,860 ROB: joten ajattelin olisimme vain kyselevät, jos satumme ole 588 00:28:46,860 --> 00:28:48,250 pieni kirjain. 589 00:28:48,250 --> 00:28:51,130 ALI: Voi, en ollut tietoinen siitä. 590 00:28:51,130 --> 00:28:52,820 Anteeksi. 591 00:28:52,820 --> 00:28:58,100 >> Okei, joten jos aiomme tehdä niin Rob sanoo, ja varmista, että - 592 00:28:58,100 --> 00:29:02,068 Voimme pitää pyytää niitä, niin mitä meidän pitäisi tehdä? 593 00:29:02,068 --> 00:29:02,994 SPEAKER 22: [kuulumattomissa] 594 00:29:02,994 --> 00:29:03,530 ROB: Joo. 595 00:29:03,530 --> 00:29:05,630 Meidän pitäisi käyttää jonkinlaista silmukan. 596 00:29:05,630 --> 00:29:12,900 Koska käyttäjä voi syöttää jotain pätemätön lukemattomat määrän kertoja. 597 00:29:12,900 --> 00:29:14,990 Voit siis käyttää while-silmukka. 598 00:29:14,990 --> 00:29:18,870 Tarkoituksena do-while-silmukka - 599 00:29:18,870 --> 00:29:21,340 kirjaimellisesti, vain kerran koko elämänsä tulet koskaan käyttämään tee- 600 00:29:21,340 --> 00:29:24,780 kun silmukoita on kun pyydät käyttäjän syötettä. 601 00:29:24,780 --> 00:29:28,260 Joten siitä pyydämme käyttäjän syötettä tässä vihje, että meidän pitäisi 602 00:29:28,260 --> 00:29:29,660 käyttää do-while-silmukka. 603 00:29:29,660 --> 00:29:30,780 Ja miksi? 604 00:29:30,780 --> 00:29:34,270 Koska do-while-silmukka aina tapahtuu ainakin kerran. 605 00:29:34,270 --> 00:29:40,260 Joten kun pyydät käyttäjän syötettä, jonka haluat sen tapahtuvan ainakin kerran. 606 00:29:40,260 --> 00:29:42,750 Ja sitten jos asiat olivat onnistuneita, voit jatkaa. 607 00:29:42,750 --> 00:29:45,130 Jos ei, mene takaisin ja kysy uudestaan. 608 00:29:45,130 --> 00:29:48,950 >> ALI: Eli toisin sanoen, meidän on tehtävä osassa. 609 00:29:48,950 --> 00:29:51,130 Ja niin tämä kertoo sitä tekemään jotain. 610 00:29:51,130 --> 00:29:53,890 So printf - 611 00:29:53,890 --> 00:29:57,490 tulostaa lausunto, nopea ja myös saada merkin, tai yrittää 612 00:29:57,490 --> 00:29:58,780 saada merkin. 613 00:29:58,780 --> 00:30:03,410 Ja sitten meidän täytyy tarkistaa, jos se todella teki sen oikein. 614 00:30:03,410 --> 00:30:07,730 Niinpä sitten lisäämme ehtoja, sanomme taas, ja sitten meillä on 615 00:30:07,730 --> 00:30:08,980 ehdollinen lausunto. 616 00:30:11,600 --> 00:30:14,730 ROB: Mutta nyt olemme peruuttaneet ajatusketju. 617 00:30:14,730 --> 00:30:18,940 Nyt alunperin sanonta jos c on tällä alueella, se on voimassa. 618 00:30:18,940 --> 00:30:23,340 Nyt haluamme kääntää tämän ja sanovat jos C ei ole tällä alueella, niin me 619 00:30:23,340 --> 00:30:25,020 on tuettava tehdä asioita uudestaan. 620 00:30:25,020 --> 00:30:25,900 ALI: Ai, joo. 621 00:30:25,900 --> 00:30:31,720 ROB: Joten vaikka tämä ei ole totta, me haluamme mennä takaisin ja 622 00:30:31,720 --> 00:30:34,470 pyytää toisen hahmon. 623 00:30:34,470 --> 00:30:36,880 Onko kaikki nähdä, että? 624 00:30:36,880 --> 00:30:38,830 Kysymyksiä tähän? 625 00:30:38,830 --> 00:30:39,400 Okei. 626 00:30:39,400 --> 00:30:43,480 >> Joten nyt meillä on kelvollinen merkki, että voimme isoiksi. 627 00:30:43,480 --> 00:30:47,150 Ali: Niin mitä sitten seuraava askel uppercasing se? 628 00:30:49,994 --> 00:30:51,890 SPEAKER 23: Lisää 32. 629 00:30:51,890 --> 00:30:52,600 ALI: Voit lisätä - 630 00:30:52,600 --> 00:30:54,150 Anteeksi, mitä? 631 00:30:54,150 --> 00:30:56,580 SPEAKER 23: Etkö voi vain lisätä 32? 632 00:30:56,580 --> 00:31:02,360 ROB: Joten kyllä, ei niinkään Magic Numbers. 633 00:31:02,360 --> 00:31:04,610 Sinun pitäisi vain käyttää yhden tarjouksen kamaa. 634 00:31:04,610 --> 00:31:06,450 SPEAKER 23: Okei, no - 635 00:31:06,450 --> 00:31:07,250 Rob: Mutta saat 32 - 636 00:31:07,250 --> 00:31:11,870 ALI: Miten sait numero 32, luulisin, on mitä sanomme. 637 00:31:11,870 --> 00:31:18,060 SPEAKER 23: [kuulumattomissa] 638 00:31:18,060 --> 00:31:22,158 ROB: Joten voimme keksiä numero 32 yhteen - 639 00:31:22,158 --> 00:31:24,468 SPEAKER 23: [kuulumattomissa]? 640 00:31:24,468 --> 00:31:24,930 ROB: Joo. 641 00:31:24,930 --> 00:31:28,540 Mutta jos aiomme tehdä se kahdessa vaiheessa teimme ennen kanssa 642 00:31:28,540 --> 00:31:29,950 asento kamaa. 643 00:31:29,950 --> 00:31:36,910 Joten aseman aakkoset että c sattuu olemaan on c miinus pieni 644 00:31:36,910 --> 00:31:42,360 "A". Joten jos olemme siirtyneet pieniä "d", asema tulee olemaan 3. 645 00:31:42,360 --> 00:31:46,490 Ja nyt me haluamme viedä asioita isot erilaisia ​​asioita. 646 00:31:46,490 --> 00:31:55,376 Joten nyt uusi c tulee olemaan pääkaupunki "" plus asentoon. 647 00:31:55,376 --> 00:32:00,090 Joten ihmiset miten tuo meidät - 648 00:32:00,090 --> 00:32:04,140 olemme siirtymässä pienet alue, tarkka syvyys olimme tuohon 649 00:32:04,140 --> 00:32:07,650 alue, ja menee alas iso alue, ja menee niin pitkälle 650 00:32:07,650 --> 00:32:10,610 sitä uudelleen, mikä tulee olemaan sama luonne, mutta nyt 651 00:32:10,610 --> 00:32:12,550 uppercased. 652 00:32:12,550 --> 00:32:16,490 Ali: Ja ihmisiä, jotka olivat hämmentyneitä siitä, kuinka hän juuri sanoi 32, 653 00:32:16,490 --> 00:32:20,390 pohjimmiltaan hän yhdisti molemmat yhdeksi julkilausuman. 654 00:32:20,390 --> 00:32:24,550 Joten vastaavalla tavalla kirjallisesti tämän sanoa voit vain sellaista 655 00:32:24,550 --> 00:32:28,190 sijaisuus, C miinus "," ja laita se tänne. 656 00:32:28,190 --> 00:32:31,330 Joten mitä hän teki, I älä - 657 00:32:31,330 --> 00:32:44,510 char newc = isoja '' plus c miinus pieniksi ". Ja koska algebra, 658 00:32:44,510 --> 00:32:47,090 voit siirtää ne. 659 00:32:47,090 --> 00:32:52,960 Voit myös sanoa, että voit siirtää sen ympärille niin char newc = isoja '" 660 00:32:52,960 --> 00:32:55,620 miinus pieniksi "" plus c. 661 00:32:55,620 --> 00:32:58,650 Ja tämä, huomaat jos menemme takaisin kaavioon. 662 00:33:01,160 --> 00:33:06,300 Olemme isoiksi on 65 ja pieniksi on 97. 663 00:33:06,300 --> 00:33:09,800 Joten 65-97 on -32. 664 00:33:09,800 --> 00:33:10,020 >> Hei. 665 00:33:10,020 --> 00:33:10,930 Istu. 666 00:33:10,930 --> 00:33:12,180 Oh. 667 00:33:16,240 --> 00:33:17,980 Voit istua täällä. 668 00:33:17,980 --> 00:33:20,805 Cool, okei, mahtava. 669 00:33:20,805 --> 00:33:22,390 Tervetuloa osioon. 670 00:33:22,390 --> 00:33:25,110 Huomaat, että ero on 32. 671 00:33:25,110 --> 00:33:28,150 Niin, että jos hän, että numero. 672 00:33:28,150 --> 00:33:32,140 Mutta se ei ole, kuten Rob sanoo, paras tapa tehdä se, koska se on outo 673 00:33:32,140 --> 00:33:35,260 maaginen numero sekaannusta. 674 00:33:35,260 --> 00:33:38,710 ROB: Käytä pääoman miinus pieniä kirjaimia. 675 00:33:38,710 --> 00:33:43,045 Sinun ei tule käyttää vain suoraan 32. 676 00:33:43,045 --> 00:33:45,020 SPEAKER 24: Miksi, taas? 677 00:33:45,020 --> 00:33:49,860 Miksi et käytä 32? 678 00:33:49,860 --> 00:33:55,630 ALI: Jos emme, se olisi char newc = -32 + c. 679 00:33:55,630 --> 00:34:00,030 Ja jos et näe mitään muuta, jos tämä on kaikki mennyt, ja sinä 680 00:34:00,030 --> 00:34:04,720 vain nähdä tämän yhden rivin, niin mistä tiedät, mitä negatiivinen 32 on? 681 00:34:04,720 --> 00:34:07,000 Se on vain pois paikaltaan. 682 00:34:07,000 --> 00:34:10,360 ROB: Joten ohjelma toimisi täysin kunnossa. 683 00:34:10,360 --> 00:34:12,960 Se on vain tyyli juttu. 684 00:34:12,960 --> 00:34:17,760 Joku menossa ja lukea koodin, he ovat kuin mitä 32 tarkoittaa? 685 00:34:17,760 --> 00:34:18,889 Ehkä he älä - 686 00:34:18,889 --> 00:34:22,090 En luultavasti ei heti ymmärrä, että 32 sattuu olemaan 687 00:34:22,090 --> 00:34:25,100 ero kirjain ja iso kirjain, vaikka 688 00:34:25,100 --> 00:34:26,510 aiomme käyttää tämän seikan seuraava ongelma. 689 00:34:30,210 --> 00:34:31,610 32 on - 690 00:34:31,610 --> 00:34:38,579 voit jättää kommentin yläpuolella sanomalla 32 on ero 691 00:34:38,579 --> 00:34:45,290 "" Ja "." Mutta siinä vaiheessa, miksi ei vain käyttää "" ja "", ja sinä 692 00:34:45,290 --> 00:34:47,469 ei tarvitse kommentoida sitten. 693 00:34:47,469 --> 00:34:52,739 >> Ali: Se on vain miten sen yläpuolella ovat paljon puhtaampia, tyylillisesti. 694 00:34:52,739 --> 00:34:54,590 Ja niin, koska olet juuri aloittamassa ohjelmointia - 695 00:34:54,590 --> 00:34:57,775 tai kai ole, koska olet hakkeri EDI - koskaan mielessä. 696 00:34:57,775 --> 00:34:59,420 Se on vain hyvä tapa saada - 697 00:34:59,420 --> 00:35:01,230 se on parempi olla paremmin tyyliin. 698 00:35:01,230 --> 00:35:02,850 Se on helpompaa muiden ihmisten lukea. 699 00:35:02,850 --> 00:35:06,560 ROB: Sinun ei koskaan tulisi pitää muistaa ASCII taulukon, koskaan. 700 00:35:06,560 --> 00:35:09,505 Sinun pitäisi vain pystyä käyttämään yksi tarjous merkkiä. 701 00:35:12,390 --> 00:35:12,730 Kysymyksiä? 702 00:35:12,730 --> 00:35:13,980 ALI: Kaikki hyvä? 703 00:35:16,020 --> 00:35:16,430 ROB: Okei. 704 00:35:16,430 --> 00:35:23,320 Joten seuraava ongelma on huomattava. 705 00:35:23,320 --> 00:35:24,660 Joten seuraava ongelma kysyy meiltä - 706 00:35:27,880 --> 00:35:31,570 ALI: seuraava ongelma on pyytänyt meitä tekemään sama asia, mutta käyttää 707 00:35:31,570 --> 00:35:32,640 bittioperaatioiden. 708 00:35:32,640 --> 00:35:35,170 ROB: Ja tietenkin, emme ole nähneet bittioperaatioiden vielä. 709 00:35:35,170 --> 00:35:38,874 Joten me nyt keskustella niistä. 710 00:35:38,874 --> 00:35:39,540 ALI: olla innoissaan. 711 00:35:39,540 --> 00:35:41,490 He erittäin hauskaa. 712 00:35:41,490 --> 00:35:47,927 >> ROB: Eli säännöllinen toimijoiden, kuten x plus y, miinus, ajat, jaa. 713 00:35:47,927 --> 00:35:50,850 ALI: Kirjoita se tähän nopeasti. 714 00:35:50,850 --> 00:35:55,420 Rob: Mukana on myös%, jos et ole nähnyt sitä, jota voit käyttää, jonka 715 00:35:55,420 --> 00:35:57,130 prosenttia symboli. 716 00:35:57,130 --> 00:35:59,090 Mutta emme käytä niitä tähän ongelmaan. 717 00:35:59,090 --> 00:36:01,400 Haluamme käyttää bittioperaatioiden. 718 00:36:01,400 --> 00:36:06,250 Muistakaa, toimme sen luennossa yksi. 719 00:36:06,250 --> 00:36:10,760 En ole varma, jos olemme keskustelleet binary pidemmälle. 720 00:36:10,760 --> 00:36:13,710 Mutta muista, että jokainen numero on edustettuna - 721 00:36:13,710 --> 00:36:14,540 No, kaikki - 722 00:36:14,540 --> 00:36:17,860 on edustettuna 1s ja 0s binary. 723 00:36:17,860 --> 00:36:27,320 Joten se tarkoittaa, että kun sanon numero 8, satun tietämään, että se 724 00:36:27,320 --> 00:36:30,240 kuten, 1000. 725 00:36:30,240 --> 00:36:35,530 Mitä bittioperaatioiden tehkäämme on toimivat näillä bittiä - 726 00:36:35,530 --> 00:36:37,000 on toimivat nämä bitit suoraan. 727 00:36:40,160 --> 00:36:42,490 Nyt en ole enää tekemisissä kannalta kahdeksan. 728 00:36:42,490 --> 00:36:45,930 Olen tekemisissä kannalta 1000, ja haluan tehdä asioita jotka 729 00:36:45,930 --> 00:36:47,670 yksittäiset bitit. 730 00:36:47,670 --> 00:36:52,520 Joten Ali on kirjoittanut bittioperaatioiden täällä, mutta that's - 731 00:36:55,060 --> 00:36:58,020 Numero 8 käytämme niin yksi esimerkki numeroita. 732 00:36:58,020 --> 00:37:02,980 Ja binääriesitys on 1000. 733 00:37:02,980 --> 00:37:06,520 Käytämme toiseen numeroon, 5 - 734 00:37:06,520 --> 00:37:12,070 todella Katsotaanpa käyttää 9 ja 5. 735 00:37:12,070 --> 00:37:15,778 Ja 5: n binääriesityksessä on 00 - 736 00:37:15,778 --> 00:37:18,380 0101. 737 00:37:18,380 --> 00:37:19,480 ALI: Onko kaikki hyvä siitä? 738 00:37:19,480 --> 00:37:21,040 Binary kamaa? 739 00:37:21,040 --> 00:37:23,740 Se oli ensimmäinen luento? 740 00:37:23,740 --> 00:37:29,070 >> ROB: Joten vaikka et ole täysin päällä miten muuntaa asioita 741 00:37:29,070 --> 00:37:31,700 binary, se ei ole täysin tärkeä tähän ongelmaan. 742 00:37:31,700 --> 00:37:36,560 Käytämme sitä, mutta sinulla on paljon enemmän mahdollisuuksia selvittää, miten 743 00:37:36,560 --> 00:37:39,250 nopeasti kääntää asiat osaksi binary. 744 00:37:39,250 --> 00:37:43,820 Joten käyttäen 9 ja 5, nyt meillä on bittioperaatioiden. 745 00:37:43,820 --> 00:37:48,620 Niin, ja myös, 9 ja 5, jos se on kokonaisluku, niin oikeastaan ​​se on 32 bittiä, 746 00:37:48,620 --> 00:37:53,150 mikä tarkoittaa, että meillä kuin 0, 0, 0, 0 Monesti sitten 747 00:37:53,150 --> 00:37:55,330 101 aivan lopussa. 748 00:37:55,330 --> 00:37:58,530 Se on vain siksi, ei väliä mitä teet, kokonaislukuina, 32 bittiä. 749 00:37:58,530 --> 00:38:01,570 Juuri siksi meidän tarvitsee vain neljä bittiä edustaa 9 ei tarkoita emme 750 00:38:01,570 --> 00:38:05,500 käyttämällä ylös muiden 27 bittiä vain 0s. 751 00:38:05,500 --> 00:38:10,110 ALI: Vain selventää, yksi näistä numeroista se 0 tai 1 on vähän. 752 00:38:10,110 --> 00:38:11,830 Tämä on 4 bittiä. 753 00:38:11,830 --> 00:38:14,320 Kuten niin Rob sanoi että koneet säilytä niitä 32. 754 00:38:14,320 --> 00:38:19,430 Niin sitten ne olisi 32 joko 0 tai 1. 755 00:38:19,430 --> 00:38:22,190 Cool? 756 00:38:22,190 --> 00:38:23,610 ROB: bittioperaatioiden. 757 00:38:23,610 --> 00:38:27,310 Ensimmäinen että hoidan Tehdään &. 758 00:38:27,310 --> 00:38:31,260 Joten jos teemme 9 & 5. 759 00:38:31,260 --> 00:38:38,310 Joten mitä ja tekee on, vähän kerrallaan, se vertaa bittiä kaksi numeroa 760 00:38:38,310 --> 00:38:44,860 ja jos molemmat numerot ovat 1, niin se palaa 1. 761 00:38:44,860 --> 00:38:50,870 Jos yksi on 0 ja toinen on 1, tai molemmat ovat 0s, sitten se palauttaa 0. 762 00:38:50,870 --> 00:38:53,060 Joten voit ajatella sitä teidän loogista siirretystä. 763 00:38:53,060 --> 00:38:59,270 Kuten tarvitset true ja true return true, mutta oikean ja väärän on väärä. 764 00:38:59,270 --> 00:39:02,390 Joten se on sama asia, mutta nyt olemme tekemisissä sen kanssa vain bittejä. 765 00:39:02,390 --> 00:39:04,910 >> ALI: Joten jos katsot tätä, sinulla on 1 - 766 00:39:04,910 --> 00:39:08,490 sinun linja niitä ylös, joten se on 1 ja 0. 767 00:39:08,490 --> 00:39:11,036 Oletteko kaverit ajattelevat, että olisi - mitä se arvioi sen? 768 00:39:11,036 --> 00:39:11,770 SPEAKER 25: 1. 769 00:39:11,770 --> 00:39:12,270 ALI: Cool. 770 00:39:12,270 --> 00:39:16,850 Tai no. 771 00:39:16,850 --> 00:39:18,830 Anteeksi. 772 00:39:18,830 --> 00:39:21,290 Joten ei se järkevää? 773 00:39:21,290 --> 00:39:23,200 Joten mikä on kollektiivinen vastaus uudestaan? 774 00:39:23,200 --> 00:39:24,750 Anteeksi. 775 00:39:24,750 --> 00:39:27,530 Eli jos meillä on 1 ja 0, niin mitä saat? 776 00:39:27,530 --> 00:39:30,260 ROB: Joten luulet miten sanot ja ääneen. 777 00:39:30,260 --> 00:39:37,550 Jos käytössä on kaksi bittiä, x ja y, sinun on x-ja y on 1, jotta se 778 00:39:37,550 --> 00:39:40,770 arvioimaan todellista - tai, jotta se voidaan arvioida 1. 779 00:39:40,770 --> 00:39:45,650 Jos x tai y on 0, niin se on epätosi tai 0. 780 00:39:45,650 --> 00:39:49,165 LUCAS: On hyvä muistaa myös, että 1 on tosi, ja 0 on epätosi. 781 00:39:49,165 --> 00:39:51,684 Joten jos sinulla on tosi ja epätosi, se on väärä. 782 00:39:51,684 --> 00:39:53,570 Mutta sitten, true & totta, totta. 783 00:39:53,570 --> 00:39:55,040 False & false, false. 784 00:39:55,040 --> 00:39:57,650 Ali: Olemme true & epätosi. 785 00:39:57,650 --> 00:39:58,530 Joten 1 ja 0. 786 00:39:58,530 --> 00:40:00,380 Joten sitten taas, anteeksi, vielä kerran? 787 00:40:00,380 --> 00:40:02,210 SPEAKER 25: Olisi 0. 788 00:40:02,210 --> 00:40:03,560 Joo, viileä. 789 00:40:03,560 --> 00:40:05,400 Ja sitten meillä on 0 ja 1 - 790 00:40:05,400 --> 00:40:06,260 SPEAKER 25: [kuulumattomissa] 791 00:40:06,260 --> 00:40:06,680 Ali: Joo. 792 00:40:06,680 --> 00:40:09,790 Joten voit aina vaihtaa ne - 793 00:40:09,790 --> 00:40:12,150 Sitten jos sinulla on 0 ja 0? 794 00:40:12,150 --> 00:40:12,618 SPEAKER 4: 1? 795 00:40:12,618 --> 00:40:14,490 0? 796 00:40:14,490 --> 00:40:16,230 ROB: Niin se on 0. 797 00:40:16,230 --> 00:40:18,870 Se ei ole, että molemmat numerot on oltava sama. 798 00:40:18,870 --> 00:40:22,030 Se, että molemmat numerot on oltava 1. 799 00:40:22,030 --> 00:40:26,150 Ali: Niin molemmat olla totta sen olevan totta. 800 00:40:26,150 --> 00:40:26,950 Joten se 0. 801 00:40:26,950 --> 00:40:30,540 Ja sitten sinulla on 1% 1, joka on? 802 00:40:30,540 --> 00:40:32,640 ROB: Nämä ovat melko hyviä numeroita. 803 00:40:32,640 --> 00:40:34,362 Heillä on kaikki mahdolliset - 804 00:40:34,362 --> 00:40:36,210 ALI: Hyvää työtä, wow. 805 00:40:36,210 --> 00:40:37,080 Okei, viileä. 806 00:40:37,080 --> 00:40:39,220 Joten ei se järkevää kaikille? 807 00:40:39,220 --> 00:40:41,770 >> ROB: Joten nyt teemme |. 808 00:40:41,770 --> 00:40:51,650 Ja tämä tulee olemaan hyvin samankaltaisia, mutta nyt sen sijaan, että x ja y tarvitsee 809 00:40:51,650 --> 00:40:54,880 olla 1, jotta se voisi arvioida yhden, nyt se on vain x tai 810 00:40:54,880 --> 00:40:56,360 y on oltava 1. 811 00:40:56,360 --> 00:40:59,580 Ali: Niin 1 | 0 evaluoituu - 812 00:40:59,580 --> 00:41:00,270 LUOKKA: 1. 813 00:41:00,270 --> 00:41:01,690 ALI: Cool. 814 00:41:01,690 --> 00:41:03,710 0 | 1 evaluoituu - 815 00:41:03,710 --> 00:41:04,420 LUOKKA: 1. 816 00:41:04,420 --> 00:41:06,726 ALI: Cool, ja sitten 0 | 0 - 817 00:41:06,726 --> 00:41:07,600 LUOKKA: 0. 818 00:41:07,600 --> 00:41:09,320 ALI: Joo, ja sitten 1 | 1 - 819 00:41:09,320 --> 00:41:10,180 LUOKKA: 1. 820 00:41:10,180 --> 00:41:12,090 ALI: Cool. 821 00:41:12,090 --> 00:41:14,060 Niin, että on kuin kaksi bittioperaatioiden. 822 00:41:14,060 --> 00:41:15,430 Mahtavaa. 823 00:41:15,430 --> 00:41:16,440 ROB: Joten nyt teemme ^. 824 00:41:16,440 --> 00:41:18,470 ALI: Pitäisikö meidän tehdä niitä kaikkia? 825 00:41:18,470 --> 00:41:20,620 ROB: Joo, koska mielestäni me aiomme käyttää sitä - 826 00:41:20,620 --> 00:41:22,340 käyttää niitä kaikkia. 827 00:41:22,340 --> 00:41:23,150 ALI: Okei. 828 00:41:23,150 --> 00:41:23,570 So - 829 00:41:23,570 --> 00:41:25,540 ROB: Luulen emme tarvitse. 830 00:41:25,540 --> 00:41:31,830 Ali: Niin ^ toimii, että sinun täytyy olla täsmälleen yksi tosi ja toinen epätosi. 831 00:41:31,830 --> 00:41:34,330 ^ Tarkoittaa poissulkeva TAI. 832 00:41:34,330 --> 00:41:36,650 Joten nyt se ei ole - 833 00:41:36,650 --> 00:41:41,220 jos x ja y ovat molemmat 1, se on nyt väärä. 834 00:41:41,220 --> 00:41:46,920 Se on ero ^ ja |, että OR, voit olla, jos x on 835 00:41:46,920 --> 00:41:49,440 tosi tai y on totta, olemme hyviä. 836 00:41:49,440 --> 00:41:55,176 Ei, ^ sanoo jos x on tosi, y on väärä, tai muuten se ei ole totta. 837 00:41:55,176 --> 00:41:56,814 Onko sinulla kysymys? 838 00:41:56,814 --> 00:42:00,526 >> SPEAKER 26: [kuulumattomissa] 839 00:42:00,526 --> 00:42:00,990 Ali: Joo. 840 00:42:00,990 --> 00:42:01,830 Se on tavallaan samanlainen. 841 00:42:01,830 --> 00:42:07,320 ROB: Joo, niin kun saat että matalan tason laitteisto tavaraa, nämä ovat 842 00:42:07,320 --> 00:42:10,870 toimintojen tyypit olet tekemisissä. 843 00:42:10,870 --> 00:42:13,200 Tällä laitteisto tasolla, voit käsitellä vain bittejä. 844 00:42:13,200 --> 00:42:14,950 Et käsitellä numeroita. 845 00:42:18,030 --> 00:42:23,502 ALI: Okei, sillä ^, tai jos sinulla on 1 ^ 0, mikä olisi se arvioi sen? 846 00:42:23,502 --> 00:42:24,840 LUOKKA: 1. 847 00:42:24,840 --> 00:42:25,480 ALI: Cool. 848 00:42:25,480 --> 00:42:26,010 Jos olet 849 00:42:26,010 --> 00:42:28,370 0 ^ 1? LUOKKA: 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 Ja sitten 1 ^ 1? 854 00:42:33,460 --> 00:42:35,050 LUOKKA: 0. 855 00:42:35,050 --> 00:42:37,710 ALI: Cool, awesome. 856 00:42:37,710 --> 00:42:38,620 Seuraavassa - 857 00:42:38,620 --> 00:42:40,520 ROB: Mielestäni nämä ovat kaikki meidän on käsiteltävä. 858 00:42:40,520 --> 00:42:41,490 Me vain tehdä näitä. 859 00:42:41,490 --> 00:42:43,242 ALI: Ainoa kerta joudumme tekemään - 860 00:42:43,242 --> 00:42:44,912 ROB: Voi, että tulee olemaan viimeinen ongelma. 861 00:42:44,912 --> 00:42:47,070 SPEAKER 27: Odota, jälleen? 862 00:42:47,070 --> 00:42:47,940 ALI: Anteeksi, mikä oli kysymys? 863 00:42:47,940 --> 00:42:49,564 >> SPEAKER 27: Voitteko selittää, että jälleen kerran? 864 00:42:49,564 --> 00:42:50,100 ^? 865 00:42:50,100 --> 00:42:51,490 SPEAKER 27: Exclus - joo. 866 00:42:51,490 --> 00:42:55,800 ALI: Mitä eksklusiivinen OR tarkoittaa, että on oltava yksinomaan 867 00:42:55,800 --> 00:43:02,970 yksi oikea ja yksi väärä, joten yksi 1 ja yksi 0, vs. OR, sinulla voi olla - 868 00:43:02,970 --> 00:43:06,170 yksi niistä on oltava totta, tai molemmat voivat olla totta, se 869 00:43:06,170 --> 00:43:07,130 arvioida todellista. 870 00:43:07,130 --> 00:43:10,030 SPEAKER 27: Eli 0 ja 0 olisi väärä. 871 00:43:10,030 --> 00:43:10,450 Ali: Joo. 872 00:43:10,450 --> 00:43:11,780 Mutta jos sinulla on 1 | 873 00:43:11,780 --> 00:43:14,290 1, joka arvioi totta. 874 00:43:14,290 --> 00:43:18,210 Mutta jos sinulla on 1 ^ 1, kuten teimme, että epätosi. 875 00:43:18,210 --> 00:43:21,220 Koska se ei ole pelkästään yhtä totta. 876 00:43:21,220 --> 00:43:26,930 ROB: Ja tämä saattaa olla apua, mutta huomaa, että ^ on 877 00:43:26,930 --> 00:43:28,890 vastaa vain ottaa | 878 00:43:28,890 --> 00:43:30,290 miinus &. 879 00:43:30,290 --> 00:43:32,250 Ja voit itse ajattele sitä tällä tavalla. 880 00:43:32,250 --> 00:43:37,290 ^ On vain oring kaiken yhdessä, mutta ottaen mitä tahansa bittejä jossa 881 00:43:37,290 --> 00:43:38,610 molemmat olivat totta. 882 00:43:38,610 --> 00:43:41,620 Niin & palauttaa kaiken missä molemmat olivat totta. 883 00:43:41,620 --> 00:43:45,850 | Palauttaa kaiken joissa toinen tai molemmat olivat totta. 884 00:43:45,850 --> 00:43:51,050 Joten vähentämällä että ulos | antaa sinulle ^. 885 00:43:51,050 --> 00:43:52,040 ALI: Kysyttävää? 886 00:43:52,040 --> 00:43:53,290 Tämä oli paljon tietoa. 887 00:43:55,980 --> 00:43:57,510 Jokainen hyvä? 888 00:43:57,510 --> 00:44:00,360 >> ROB: Voimme mennä yli seuraavaan löytyneeseen seuraavan ongelman, vinoviiva 889 00:44:00,360 --> 00:44:01,680 Mitä kello on? 890 00:44:01,680 --> 00:44:04,010 He eivät tarvitse tätä vasta seuraava ongelma. 891 00:44:04,010 --> 00:44:07,830 ALI: Luulin, että se oli tämä. 892 00:44:07,830 --> 00:44:08,830 ROB: Se ei ole. 893 00:44:08,830 --> 00:44:10,085 ALI: Oletko varma? 894 00:44:10,085 --> 00:44:11,300 ROB: Kyllä, olen positiivinen. 895 00:44:11,300 --> 00:44:12,970 ALI: Miksi emme alkaa tehdä seuraava ongelma? 896 00:44:15,710 --> 00:44:19,790 Ongelmana on, jälleen, muuttaa se pieniksi isoiksi, ja tämä 897 00:44:19,790 --> 00:44:21,720 aika käyttää bittioperaatioiden. 898 00:44:21,720 --> 00:44:22,970 ROB: niin me - 899 00:44:25,290 --> 00:44:29,670 Aloitetaan binääriesityksen "" capital "" 900 00:44:29,670 --> 00:44:31,750 joka on 65. 901 00:44:31,750 --> 00:44:36,150 Joten binary - 902 00:44:39,960 --> 00:44:47,900 niin '' = 65, joka =, binääri - 903 00:44:47,900 --> 00:44:51,380 Aion sotkea määrä 0s - että. 904 00:44:51,380 --> 00:44:53,670 ALI: Joten se järkevää kaikille? 905 00:44:53,670 --> 00:44:57,620 Niin, 1, ei 2s, ei 4s, ei 8s, ei - 906 00:45:00,238 --> 00:45:07,075 no 16s, ei 32s, ja sitten yksi 64. 907 00:45:07,075 --> 00:45:08,685 ROB: Joo, luulen että yksi liikaa 0s. 908 00:45:08,685 --> 00:45:09,600 ALI: Anteeksi. 909 00:45:09,600 --> 00:45:13,410 >> ROB: Okei, joten meillä on 64 asetettu, ja meillä on 1 sarja, ja yhdistämällä nämä 910 00:45:13,410 --> 00:45:16,030 yhdessä, saamme 65. 911 00:45:16,030 --> 00:45:17,470 ALI: Cool pavut? 912 00:45:17,470 --> 00:45:19,640 ROB: Eli nyt pieniksi 'A'- 913 00:45:22,220 --> 00:45:24,260 huomaa 97 - 914 00:45:24,260 --> 00:45:26,370 Mitä eroa on 97 ja 65? 915 00:45:26,370 --> 00:45:27,530 SPEAKER 28: 32. 916 00:45:27,530 --> 00:45:28,130 ROB: Joo. 917 00:45:28,130 --> 00:45:35,920 Joten se 32, mikä on oma vähän, joten tulee olemaan 110001. 918 00:45:35,920 --> 00:45:41,200 Ja tämä tulee olemaan koskee kaikkia mahdollisia merkkejä. 919 00:45:41,200 --> 00:45:49,800 Joten jos ajattelemme "D", joka tulee olemaan 68, joka tulee olemaan 1.000.011. 920 00:45:49,800 --> 00:45:56,310 Ja sitten pieniä "d" tulee olemaan 68 plus 32, joka on 100, joka on 921 00:45:56,310 --> 00:46:00,010 olemaan sama asia, että tämä oli vain kääntämällä 922 00:46:00,010 --> 00:46:04,300 32 uudelleen, joten 1100011. 923 00:46:04,300 --> 00:46:08,610 Joten ero isojen ja pienten kirjain on juuri flipping 924 00:46:08,610 --> 00:46:10,170 että 32-bittinen asentoon. 925 00:46:10,170 --> 00:46:17,670 SPEAKER 29: Eikö 1000100? 926 00:46:17,670 --> 00:46:19,670 ROB: Odota, se on 100 - 927 00:46:19,670 --> 00:46:20,480 jotain tein väärin. 928 00:46:20,480 --> 00:46:21,730 Tämä ei ole totta. 929 00:46:28,710 --> 00:46:31,150 Ajattelin, että se oli eroa 3, niin sitten olen vain jumissa 930 00:46:31,150 --> 00:46:33,970 binaariseen 3 lopussa. 931 00:46:33,970 --> 00:46:36,710 Tämän pitäisi olla oikea. 932 00:46:36,710 --> 00:46:37,150 ALI: Kiitos. 933 00:46:37,150 --> 00:46:38,080 Hyvä huomautuksesta. 934 00:46:38,080 --> 00:46:40,320 Se oli terävä. 935 00:46:40,320 --> 00:46:43,450 Selvä on, että ihmisille selväksi? 936 00:46:43,450 --> 00:46:45,700 >> ROB: ero isojen ja pienten versio on 937 00:46:45,700 --> 00:46:49,250 aina vain olemaan 32, ja niin se tulee aina olemaan yksi bitti 938 00:46:49,250 --> 00:46:51,840 , joka on selattava vaihtaa näiden kahden välillä. 939 00:46:51,840 --> 00:46:54,330 Ali: Niin siinä tapauksessa, tietäen ero pääoman ja 940 00:46:54,330 --> 00:46:57,130 pieniä on hyvä asia. 941 00:46:57,130 --> 00:47:01,950 Ei koodin, mutta käsitteellisesti ainakin, se on hyvä. 942 00:47:01,950 --> 00:47:05,880 Joten te mennä eteenpäin ja koodin että Spaces nyt. 943 00:47:05,880 --> 00:47:08,580 Vai pitäisikö meidän vain keskustella? 944 00:47:08,580 --> 00:47:09,760 ROB: Voimme vain keskustella. 945 00:47:09,760 --> 00:47:10,680 En tiedä. 946 00:47:10,680 --> 00:47:11,680 Te voi kokeilla. 947 00:47:11,680 --> 00:47:13,560 Keskustelu keskuudessa itseäsi hieman. 948 00:47:13,560 --> 00:47:16,390 Annamme sinulle mahdollisuuden koodata sitä. 949 00:47:16,390 --> 00:47:17,640 [Väliin ÄÄNTÄ] 950 00:47:19,785 --> 00:47:22,695 ALI: - on viileä 951 00:47:22,695 --> 00:47:26,590 SPEAKER 30: Tämä on kuin hakkeri komedia. 952 00:47:26,590 --> 00:47:31,060 ALI: Joo, me vain kertoa uutisia, menee sen läpi. 953 00:47:31,060 --> 00:47:32,310 >> Rob: Ja olemme takaisin. 954 00:47:34,950 --> 00:47:35,405 Ali: Se on eräänlainen outo. 955 00:47:35,405 --> 00:47:38,720 Minusta tuntuu että meillä pitäisi olla CS50 uutisiin ja voisimme 956 00:47:38,720 --> 00:47:41,500 itse istua näin. 957 00:47:41,500 --> 00:47:43,500 ROB: Hacker News. 958 00:47:43,500 --> 00:47:46,848 ALI: Hacker News 50. 959 00:47:46,848 --> 00:47:49,210 ALI: Voit vapaasti kysyä kysymyksiä, jos olet hämmentynyt. 960 00:47:52,280 --> 00:47:53,980 ROB: Onko kukaan jumissa? 961 00:47:53,980 --> 00:47:57,160 ALI: Joo, se on hyvä asia. 962 00:47:57,160 --> 00:47:58,590 ALI: Hetkinen, olet jumissa tuolin? 963 00:47:58,590 --> 00:48:01,010 Oh. 964 00:48:01,010 --> 00:48:02,260 Olin hieman huolissani. 965 00:48:06,670 --> 00:48:12,150 ROB: Koska olen vain ymmärtänyt, että olemme menossa halua 966 00:48:12,150 --> 00:48:13,300 toinen bittioperaattori. 967 00:48:13,300 --> 00:48:16,985 Nyt mennään vain muuntaa isoja ja pieniä kirjaimia. 968 00:48:23,280 --> 00:48:25,220 ALI: Anteeksi, ei kaikki tuon ilmoituksen? 969 00:48:25,220 --> 00:48:27,755 Aiomme mennä isoja ja pieniä kirjaimia. 970 00:48:27,755 --> 00:48:30,990 ROB: Sitten kerromme pieniä isoiksi heti sen jälkeen. 971 00:48:33,820 --> 00:48:36,650 Voi ei. 972 00:48:36,650 --> 00:48:39,560 Meillä on bugi tässä, jossa kai, emme koskaan yrittänyt juosta. 973 00:48:39,560 --> 00:48:44,140 Mikä on juuri sitä char c on ilmoitettava ulkopuolella silmukka, koska 974 00:48:44,140 --> 00:48:45,805 sen soveltamisala on rajoitettu silmukka. 975 00:48:49,200 --> 00:48:53,060 SPEAKER 32: Tässä tapauksessa on väärin käyttää useita? 976 00:48:53,060 --> 00:48:56,930 ROB: Eh, sinun ei tarvitse. 977 00:48:56,930 --> 00:49:02,040 Jos minä taataan, että pääoma "A'- tai pieniksi" "miinus pääomansiirrot" " 978 00:49:02,040 --> 00:49:09,340 oli tasan yksi bitti, mutta et tiedä sen 32 - 979 00:49:09,340 --> 00:49:13,160 asiat toimisivat yhtä hyvin se olisi 16-bittinen, joka on selattava - tai 980 00:49:13,160 --> 00:49:14,610 no, kai se wouldn't - 981 00:49:14,610 --> 00:49:18,270 tai 64 bit oli kääntynyt, mahdollisesti. 982 00:49:18,270 --> 00:49:23,230 Mutta sinun ei pitäisi tarvita käyttää 32. 983 00:49:23,230 --> 00:49:26,141 Voisit sijaan käyttää pieniksi "" miinus pääomansiirrot ". 984 00:49:26,141 --> 00:49:29,340 >> SPEAKER 32: Okei. 985 00:49:29,340 --> 00:49:32,996 Mitä voit tehdä, jos sinusta tuntuu, olet kirjoittamassa liikaa on, voit määrittää sen 986 00:49:32,996 --> 00:49:33,435 yläreunassa. 987 00:49:33,435 --> 00:49:41,830 Joten voit olla, int erotus = pieniksi '' miinus pääomansiirrot ". Ja 988 00:49:41,830 --> 00:49:43,980 voit kirjoittaa eron sijaan. 989 00:49:43,980 --> 00:49:45,110 Se on voimassa. 990 00:49:45,110 --> 00:49:48,002 Mutta vain käyttämällä numero 32 on sellainen - 991 00:49:48,002 --> 00:49:51,104 SPEAKER 33: Vaikka se johtuu siitä, että se on 32 bittinen? 992 00:49:51,104 --> 00:49:52,570 Ali: Joo. 993 00:49:52,570 --> 00:49:54,960 ROB: Ei voi olla - 994 00:49:54,960 --> 00:49:57,780 ainoa tae meidän tehdä teille on, että ero 995 00:49:57,780 --> 00:49:59,480 isoja ja pieniä yksi bitti. 996 00:49:59,480 --> 00:50:04,670 Sen ei pitäisi olla merkitystä, että se sattuu olemaan 32-bittinen, joka on käännetty. 997 00:50:04,670 --> 00:50:06,610 Aikaa näkökohdat, aloitamme menee yli tämän. 998 00:50:09,170 --> 00:50:10,370 Se on okei, jos et ole valmis. 999 00:50:10,370 --> 00:50:13,090 Älä mieti sitä. 1000 00:50:13,090 --> 00:50:16,260 ROB: Olettaen C on kirjain - 1001 00:50:16,260 --> 00:50:18,030 meillä ei tarvitse olettaa c on kirjain. 1002 00:50:18,030 --> 00:50:20,750 Tiedämme C on kirjain jälkeen kun silmukka - 1003 00:50:20,750 --> 00:50:22,160 do-while-silmukka. 1004 00:50:22,160 --> 00:50:28,590 Joten se tarkoittaa sitä näyttää tältä "". Joten jos haluamme tuoda tämän 1005 00:50:28,590 --> 00:50:32,895 "" Tämän "" Mitä meidän pitää tehdä? 1006 00:50:36,890 --> 00:50:41,920 Miten siis muuntaa ja kääntää vähän? 1007 00:50:48,040 --> 00:50:49,450 ALI: Miten kääntää sitä? 1008 00:50:49,450 --> 00:50:53,010 >> ROB: Joten me tiedämme haluamme kääntää 32 bit. 1009 00:50:53,010 --> 00:50:59,722 Niin, että tekee "" miinus "" tai voisimme kirjoittaa 32, mutta - 1010 00:50:59,722 --> 00:51:03,090 eihän se, se on toisinpäin. 1011 00:51:03,090 --> 00:51:07,250 ALI: Okei joten Rob tässä laskennassa, että numero, maaginen numero 32. 1012 00:51:07,250 --> 00:51:12,000 Niinpä hän selvittää missä se vähän läppä alue olisi. 1013 00:51:12,000 --> 00:51:14,810 Ja sitten mitä laitamme missä kysymysmerkkejä ovat? 1014 00:51:14,810 --> 00:51:16,740 ROB: Miten kääntää että bitti? 1015 00:51:16,740 --> 00:51:22,784 Kannalta iso kirjain, se on 0, ja haluamme tulla 1. 1016 00:51:22,784 --> 00:51:23,660 SPEAKER 34: |. 1017 00:51:23,660 --> 00:51:24,910 ROB: Joo. 1018 00:51:28,780 --> 00:51:38,190 Joten tämä on meille sanoen otamme ". Olemme oring se 0 - 1019 00:51:38,190 --> 00:51:40,750 1000 - 1020 00:51:40,750 --> 00:51:44,720 ja että = se. 1021 00:51:44,720 --> 00:51:45,930 ALI: Onko järkeä kaikille? 1022 00:51:45,930 --> 00:51:48,812 Voimme käydä läpi vähän kerrallaan, jos haluat. 1023 00:51:52,030 --> 00:51:56,300 SPEAKER 35: Oletko [kuulumattomissa]? 1024 00:51:56,300 --> 00:51:57,590 ALI: Missä miinusmerkki? 1025 00:51:57,590 --> 00:51:58,500 ROB: Ai, sinä tarkoitat täällä? 1026 00:51:58,500 --> 00:51:59,070 ALI: Ai, joo. 1027 00:51:59,070 --> 00:52:00,140 ROB: Joten kai tämä on meille. 1028 00:52:00,140 --> 00:52:05,670 Voisimme sanoa 32, ja nyt me vain käyttämällä bittioperaatioiden. 1029 00:52:05,670 --> 00:52:07,010 Ali: Emme pidä Magic Numbers. 1030 00:52:07,010 --> 00:52:10,460 Emme aio tehdä sitä. 1031 00:52:10,460 --> 00:52:13,592 Myös minun mielestäni meidän pitäisi vain käyttää bittioperaattori - 1032 00:52:13,592 --> 00:52:19,042 SPEAKER 36: Jos käytät ^, saatte 32? 1033 00:52:19,042 --> 00:52:19,980 SPEAKER 37: Joo, luulen - 1034 00:52:19,980 --> 00:52:21,090 ROB: Joo tulet. 1035 00:52:21,090 --> 00:52:23,320 ALI: Näin olisit tehnyt sen menee 1036 00:52:23,320 --> 00:52:25,370 pääomatulojen pieniksi. 1037 00:52:25,370 --> 00:52:31,130 >> Nyt voi joku kertoa minulle miksi Rob ja vaihdoin nopeasti ja miten meni 1038 00:52:31,130 --> 00:52:34,040 alkaen isoja pieniä, eikä pieniksi ja 1039 00:52:34,040 --> 00:52:37,810 isoiksi kuten teimme ennen? 1040 00:52:37,810 --> 00:52:44,520 Onko kellään mitään ideoita miksi se voi olla vaikeampaa? 1041 00:52:44,520 --> 00:52:44,880 ROB: Joten me tekisin - 1042 00:52:44,880 --> 00:52:46,178 ALI: Joo, mene eteenpäin. 1043 00:52:46,178 --> 00:52:49,640 SPEAKER 38: | operaattori oli vain todella hyvä lisätä. 1044 00:52:49,640 --> 00:52:51,200 ALI: Joo, aivan. 1045 00:52:51,200 --> 00:52:58,320 ROB: Mitä haluamme tehdä pieniä isoiksi tapauksessa, 1046 00:52:58,320 --> 00:53:00,175 muuntaa tämän "a'- 1047 00:53:08,540 --> 00:53:14,820 joten haluamme laittaa joitakin numeroita tässä ja käyttää joitakin operaattori siten, että se tulee 1048 00:53:14,820 --> 00:53:21,910 ulos pääoman A. Olemme edelleen luultavasti käyttäen 32 jotenkin, mutta nyt kuinka me 1049 00:53:21,910 --> 00:53:25,280 saat tämän tulemaan ulos tästä? 1050 00:53:40,910 --> 00:53:42,750 Niin c - 1051 00:53:42,750 --> 00:53:44,000 oh, en silti halua, että liian - 1052 00:53:46,940 --> 00:53:51,055 ALI: Eli nyt jos me muuntamiseen pienet isoiksi jälleen, meidän 1053 00:53:51,055 --> 00:53:55,170 tehdä ^ toiminta, kuten te sanoi. 1054 00:53:55,170 --> 00:53:57,650 ROB: On muitakin tapoja voit tehdä asioita. 1055 00:53:57,650 --> 00:54:01,680 Paljon bittioperaatioiden päätyä hyvin helposti määriteltävissä kannalta 1056 00:54:01,680 --> 00:54:03,460 Muiden bittioperaatioiden. 1057 00:54:03,460 --> 00:54:11,150 Joten aioin käytä ^ tai ollenkaan, mutta ^ toimi täysin kunnossa. 1058 00:54:11,150 --> 00:54:17,910 >> ALI: Okei, joten aiomme mennä viimeinen ongelma, joka on perus - 1059 00:54:17,910 --> 00:54:22,390 viimeinen ongelma on muuttaa jotain binäärimuotoon. 1060 00:54:22,390 --> 00:54:26,350 Niinpä esimerkiksi, sinulla on 50, ja sitten muuntaa sen 1061 00:54:26,350 --> 00:54:31,400 binary, joka on 110010. 1062 00:54:31,400 --> 00:54:36,010 Ja luulen te kaikki tietää binary alkaen luento. 1063 00:54:36,010 --> 00:54:39,270 Ja sinä myös ei pitäisi tehdä mitään johtava 0s siihen. 1064 00:54:39,270 --> 00:54:41,460 ROB: Voit ohittaa tämän osan nyt. 1065 00:54:41,460 --> 00:54:45,250 Ensikierron, voit tehdä sen niin, että on olemassa johtavia 0s. 1066 00:54:45,250 --> 00:54:49,200 Ja sitten voimme muuttaa, että on mitään johtava 0s, jos meillä on aikaa. 1067 00:54:49,200 --> 00:54:50,630 ALI: Joten älä murehdi. 1068 00:54:50,630 --> 00:54:52,620 Yritä saada binary. 1069 00:54:55,880 --> 00:54:59,855 Hyvä paikka aloittaa olisi - 1070 00:54:59,855 --> 00:55:02,010 ROB: Meidän pyytää kokonaisluku. 1071 00:55:02,010 --> 00:55:03,150 Ali: Joo, se on hyvä. 1072 00:55:03,150 --> 00:55:04,170 Voimme aloittaa siitä. 1073 00:55:04,170 --> 00:55:06,870 Joten voit vaihtaa nopeasti. 1074 00:55:06,870 --> 00:55:08,840 Joten sen sijaan luonteeltaan, nyt olemme tekemisissä kokonaislukuja. 1075 00:55:13,670 --> 00:55:14,920 Cool? 1076 00:55:20,630 --> 00:55:25,300 >> ROB: Ja nyt, mitä meidän do-while ehto tulee? 1077 00:55:25,300 --> 00:55:27,750 Se pyytää ei-negatiivinen kokonaisluku. 1078 00:55:31,080 --> 00:55:34,280 Ali: Kun haluamme jatkuvasti kysyä käyttäjältä jotain muuta? 1079 00:55:34,280 --> 00:55:35,950 Kun se on pienempi kuin 0. 1080 00:55:35,950 --> 00:55:36,760 ALI: Oikea. 1081 00:55:36,760 --> 00:55:38,010 ROB: Vaikka i on pienempi kuin 0. 1082 00:55:41,090 --> 00:55:45,120 ALI: Nyt haluamme muuntaa sen. 1083 00:55:45,120 --> 00:55:48,150 Onko teillä mitään ideoita mitä tehdä? 1084 00:55:48,150 --> 00:55:49,400 Jokainen inklings? 1085 00:55:53,610 --> 00:55:54,984 Joo. 1086 00:55:54,984 --> 00:55:57,344 SPEAKER 39: Onko meillä muuntaa se, vai voimmeko vain tulostaa joitakin 0s ja 1s 1087 00:55:57,344 --> 00:55:58,760 että olisi oikea numero? 1088 00:55:58,760 --> 00:56:02,070 Voisitko tehdä for-silmukka ja laskea ulos toimivalta 2? 1089 00:56:02,070 --> 00:56:03,320 ROB: Kyllä. 1090 00:56:05,750 --> 00:56:08,425 Sinun ei tarvitse muuntaa i sen binääri - 1091 00:56:08,425 --> 00:56:13,720 binääriesityksen en aio mahdu i. 1092 00:56:13,720 --> 00:56:19,090 Sinun tarvitsee vain tulostaa binääriesityksen i. 1093 00:56:19,090 --> 00:56:21,010 ALI: Toisin sanoen, sinun ei tarvitse mennä kahden potensseja. 1094 00:56:21,010 --> 00:56:23,710 ROB: Koska olen on jo tallennettu binäärejä, joten sinun ei tarvitse 1095 00:56:23,710 --> 00:56:25,110 muuntaa sen binary. 1096 00:56:25,110 --> 00:56:27,260 Vain mennä yli sen binary, ja tulostaa sen. 1097 00:56:30,080 --> 00:56:32,140 Ja olet menossa tarvitse käyttää bittikohtainen, koska haluat katsoa 1098 00:56:32,140 --> 00:56:33,390 todellinen bittiä. 1099 00:56:37,060 --> 00:56:38,600 Sinun ei tarvitse käyttää bittikohtainen, mutta tee. 1100 00:56:44,130 --> 00:56:47,160 Ja se on todella - 1101 00:56:47,160 --> 00:56:50,200 voit vain tehdä kahden potensseja kertomalla 2. 1102 00:56:50,200 --> 00:56:55,120 Menemme yli kahden viimeisen binary bittioperaatioiden, 1103 00:56:55,120 --> 00:56:56,410 mikä on tämä. 1104 00:56:56,410 --> 00:56:58,730 Joten kun otat - 1105 00:56:58,730 --> 00:57:00,083 >> ALI: Voitko käydä läpi molempia? 1106 00:57:00,083 --> 00:57:01,440 ROB: Joo. 1107 00:57:01,440 --> 00:57:03,050 Joten mene 9. 1108 00:57:03,050 --> 00:57:05,210 Joten 9 VASEN VAIHTO 1 - 1109 00:57:05,210 --> 00:57:12,220 mitä vasen shift tarkoittaa ei vain siirtää kaikki bittiä vasemmalle ja aseta 0. 1110 00:57:12,220 --> 00:57:15,530 Joten olemme siirtämällä kaikki bitit 9 vasempaan silmään 1111 00:57:15,530 --> 00:57:20,240 asema, joka antaa meille - 1112 00:57:26,530 --> 00:57:31,570 Joten huomaa olemme siirtyneet kaiken jäljellä yksi, ja lisätään 0, 1113 00:57:31,570 --> 00:57:32,730 oikealla puolella. 1114 00:57:32,730 --> 00:57:36,755 Jos olisimme siirtynyt vasemmalle kaksi, voisimme siirtää kaiken jäljellä kaksi, 1115 00:57:36,755 --> 00:57:41,950 ja aseta kaksi 0s täyttämään aukkoja. 1116 00:57:41,950 --> 00:57:43,200 Kysymys? 1117 00:57:44,890 --> 00:57:47,510 ALI: Joten sitten oikea shift ei samanlainen asia. 1118 00:57:47,510 --> 00:57:53,190 Jos sinulla on 9 OIKEA VAIHTO 1 niin olet juuri siirtymässä kaiken yli 1119 00:57:53,190 --> 00:57:57,890 oikea, menetät numeron, niin 100 sijaan. 1120 00:57:57,890 --> 00:58:04,142 ROB: Joten se on hienoa, että olet menettämässä hieman joka sattui olemaan kaikille 1121 00:58:04,142 --> 00:58:05,200 tapa oikealle. 1122 00:58:05,200 --> 00:58:08,850 On olemassa erilaisia ​​oikeutta muutoksia, mutta periaatteessa voit ajatella 1123 00:58:08,850 --> 00:58:11,410 OIKEA VAIHTO kuin vain jakamalla 2. 1124 00:58:11,410 --> 00:58:14,430 Ja voit ajatella vasen muutos kuin kertomalla 2. 1125 00:58:14,430 --> 00:58:16,490 Joten jos olet muuntanut tämän - 1126 00:58:16,490 --> 00:58:22,350 Jos muutettu 9 vaihdetangon 1, joka on yhtä suuri kuin 10010, jos itse meni 1127 00:58:22,350 --> 00:58:25,100 kautta binary ja tajunnut, mitä se oli, se olisi vain 18. 1128 00:58:25,100 --> 00:58:26,880 Me vain kerrotaan 2. 1129 00:58:26,880 --> 00:58:30,982 1001 vasen Shift 2 tulee olemaan 36. 1130 00:58:30,982 --> 00:58:32,400 Me kerrotaan 4. 1131 00:58:41,740 --> 00:58:45,360 Okei, viileä, joten se on kätevä bittioperaattori tämä yksi. 1132 00:58:52,570 --> 00:58:53,330 Lisää sekaannusta? 1133 00:58:53,330 --> 00:58:54,870 Onko kaverit haluavat kokeilla sitä? 1134 00:58:54,870 --> 00:58:58,970 Tai voimme vain hypätä ja aloittaa sen? 1135 00:58:58,970 --> 00:59:01,140 ROB: Meidän pitäisi varmaan hypätä suoraan sisään 1136 00:59:01,140 --> 00:59:01,880 ALI: Joo, okei. 1137 00:59:01,880 --> 00:59:03,370 Rob: Ja kävele sen läpi yhdessä. 1138 00:59:03,370 --> 00:59:04,440 >> Ali: No minä vain mennä sitä. 1139 00:59:04,440 --> 00:59:09,700 Niin hän sanoi alussa, aiomme mennä läpi vähän kerrallaan. 1140 00:59:09,700 --> 00:59:11,890 Joten olemme menossa silmukka. 1141 00:59:11,890 --> 00:59:16,730 Onko kellään ajatusta paras sellainen silmukan läpi tämän? 1142 00:59:16,730 --> 00:59:20,544 Meillä on taas silmukoita, tee-ja silmukoita, silmukoita. 1143 00:59:20,544 --> 00:59:22,400 SPEAKER 40: do-while silmukka? 1144 00:59:22,400 --> 00:59:25,150 ROB: Joten muistakaa mitä sanoin siitä, me vain käyttää do-while 1145 00:59:25,150 --> 00:59:27,390 silmukoita saada käyttäjä syöttää. 1146 00:59:27,390 --> 00:59:30,890 Et koskaan melko paljon koskaan käytä niitä mihinkään muuhun. 1147 00:59:30,890 --> 00:59:33,660 ALI: ongelma do-while silmukoita on se jotain ennen kuin se tarkistaa 1148 00:59:33,660 --> 00:59:34,470 kunnossa. 1149 00:59:34,470 --> 00:59:36,540 Niin, se voisi tehdä jotain pahaa - 1150 00:59:36,540 --> 00:59:38,640 kuten, satuttaa - 1151 00:59:38,640 --> 00:59:40,350 jotain se ei ole mahdollista. 1152 00:59:40,350 --> 00:59:42,290 Joten haluat tarkistaa ensin. 1153 00:59:42,290 --> 00:59:47,620 ROB: On paljon tapauksia, joissa voit käyttää do-while silmukoita, mutta ihmiset 1154 00:59:47,620 --> 00:59:52,120 älä odota sinun käyttää niitä ellei se käyttäjä syöttää. 1155 00:59:52,120 --> 00:59:54,215 Joten olemme käyttäneet do-while-silmukka saada i. 1156 00:59:57,160 --> 01:00:01,260 Kuinka monta kertaa on meidän silmukka menossa haluavat loop? 1157 01:00:01,260 --> 01:00:04,060 Haluamme lenkki kunkin bittiä i. 1158 01:00:04,060 --> 01:00:06,302 Kuinka monta bittiä ovat i? 1159 01:00:06,302 --> 01:00:07,266 SPEAKER 41: 32. 1160 01:00:07,266 --> 01:00:07,750 Ali: Joo. 1161 01:00:07,750 --> 01:00:09,850 ROB: Niin on 32 bittiä. 1162 01:00:09,850 --> 01:00:12,920 Emme halua sanoa 32. 1163 01:00:12,920 --> 01:00:16,230 Me sen sijaan haluamme sanoa sizeof - 1164 01:00:16,230 --> 01:00:18,226 jotka olet nähnyt, että luokassa vielä? 1165 01:00:18,226 --> 01:00:19,100 ALI: Nope. 1166 01:00:19,100 --> 01:00:20,380 ROB: Miksi se sano käyttää sitä - 1167 01:00:20,380 --> 01:00:22,160 sizeof (int) kertaa 8 - 1168 01:00:22,160 --> 01:00:23,530 ALI: Niin, sizeof on - 1169 01:00:23,530 --> 01:00:27,050 >> SPEAKER 42: [kuulumattomissa] 1170 01:00:27,050 --> 01:00:27,440 ALI: Mielenkiintoinen. 1171 01:00:27,440 --> 01:00:31,610 Joten, sizeof on sisäänrakennettu C toiminto, jossa se vain kertoo 1172 01:00:31,610 --> 01:00:32,500 bittien lukumäärä - 1173 01:00:32,500 --> 01:00:33,220 ROB: Bytes. 1174 01:00:33,220 --> 01:00:34,210 ALI: Bytes, anteeksi - 1175 01:00:34,210 --> 01:00:39,990 tavumäärä, että muuttuva on tallentaa arvon. 1176 01:00:39,990 --> 01:00:46,205 Joten mielestäni hän meni luokassa, sitten int on 4 tavua ehkä. 1177 01:00:46,205 --> 01:00:46,610 Cool? 1178 01:00:46,610 --> 01:00:50,610 ROB: Mutta sinun ei tarvitse tietää, että int on 4 tavua. 1179 01:00:50,610 --> 01:00:52,670 Sinun pitäisi pystyä sanoa - 1180 01:00:52,670 --> 01:00:55,870 sinun tulee käyttää sizeof (int) saada 4 tavua. 1181 01:00:55,870 --> 01:00:59,170 Ja se on todella tärkeä joitakin asioita. 1182 01:00:59,170 --> 01:01:01,650 Int ei ehkä 4 tavua. 1183 01:01:01,650 --> 01:01:04,050 Toiseen tietokoneeseen, int voi olla 8 tavua. 1184 01:01:04,050 --> 01:01:08,500 Joten ohjelma ei toimi kyseisessä tietokoneessa koska kovakoodatuilla 32 1185 01:01:08,500 --> 01:01:12,230 bittejä, kun kyseisen tietokoneen sattuu olemaan 64 bittiä. 1186 01:01:12,230 --> 01:01:15,260 ALI: Eli sinulla on bittien kokonaismäärä että haluat kääntää. 1187 01:01:15,260 --> 01:01:17,480 ROB: Ja ero tavu ja vähän on se, että 1188 01:01:17,480 --> 01:01:19,100 ovat 8 bittiä tavun. 1189 01:01:19,100 --> 01:01:22,110 Joten sizeof (int) palauttaa 4 tavua, meidän täytyy kertoa, että 1190 01:01:22,110 --> 01:01:24,420 8 saada 32 bittiä. 1191 01:01:24,420 --> 01:01:27,680 >> ALI: Okei, joten tiedämme suurin ja tiedämme haluamme mennä - 1192 01:01:27,680 --> 01:01:29,260 Haluamme käydä läpi niitä kaikkia. 1193 01:01:29,260 --> 01:01:32,950 Niinpä haluamme mennä 0-numBits. 1194 01:01:32,950 --> 01:01:37,160 Joten ei kukaan tiedä, miten kirjoittaa silmukan siihen? 1195 01:01:37,160 --> 01:01:37,790 Kukaan? 1196 01:01:37,790 --> 01:01:39,680 SPEAKER 43: [kuulumattomissa] 1197 01:01:39,680 --> 01:01:44,130 ALI: Joten haluat kulkea numero i: nollas bitin 1198 01:01:44,130 --> 01:01:47,840 Ensimmäinen bitti, toisen bitin, kolmas bitti, aina numBits. 1199 01:01:47,840 --> 01:01:50,972 Max bittimäärä, että voit saada. 1200 01:01:54,420 --> 01:01:57,780 ROB: Mitä yhteistä silmukan käytämme mitä haluamme tehdä jotain x kertaa? 1201 01:01:57,780 --> 01:01:58,280 ALI: For. 1202 01:01:58,280 --> 01:01:59,280 Perfect. 1203 01:01:59,280 --> 01:02:00,440 Joten meillä on. 1204 01:02:00,440 --> 01:02:05,242 Ja sitten me luoda iteraattori, joka ei tule olemaan 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 Joten aloitamme klo 0. 1208 01:02:09,740 --> 01:02:13,110 Ja sitten me aiomme olla ehto varmistaa, kun olet 1209 01:02:13,110 --> 01:02:14,968 menee läpi joka ikinen kerta - 1210 01:02:14,968 --> 01:02:16,960 [Väliin ÄÄNTÄ] 1211 01:02:16,960 --> 01:02:17,960 ROB: j. 1212 01:02:17,960 --> 01:02:19,970 ALI: j on pienempi kuin numBits. 1213 01:02:19,970 --> 01:02:23,680 Joten emme halua tehdä todellista on yksi, koska he numBits 1214 01:02:23,680 --> 01:02:25,365 yhteensä, ja aloitamme klo 0. 1215 01:02:25,365 --> 01:02:26,360 Joten olemme todella menossa on - 1216 01:02:26,360 --> 01:02:27,400 SPEAKER 44: Oh. 1217 01:02:27,400 --> 01:02:29,300 ALI: indeksit eivät pääty numBits miinus 1. 1218 01:02:29,300 --> 01:02:34,070 ROB: Me nimetä bitit 0-31, emme tunnisteella 1-32. 1219 01:02:34,070 --> 01:02:36,970 Ali: Ja sitten me aiomme kasvattaa joka kerta yhdellä, koska haluamme 1220 01:02:36,970 --> 01:02:38,050 tarkista joka ikinen. 1221 01:02:38,050 --> 01:02:39,851 Joten menemme j + +. 1222 01:02:39,851 --> 01:02:42,740 >> SPEAKER 45: Miksi ihmeessä? 1223 01:02:42,740 --> 01:02:46,100 SPEAKER 46: Miksi olet menossa läpi jokaisen bitin? 1224 01:02:46,100 --> 01:02:49,310 ROB: Eli haluamme käydä läpi jokaisen bitin ja - 1225 01:02:52,780 --> 01:02:55,100 Joten Sanotaan meillä on numero. 1226 01:02:55,100 --> 01:02:56,195 ALI: 68. 1227 01:02:56,195 --> 01:02:57,470 ROB: Voimme käyttää 68. 1228 01:02:57,470 --> 01:03:00,450 Joten binary tulee olemaan 100100. 1229 01:03:00,450 --> 01:03:05,540 Joten tämä on sisältä I ja haluamme mennä kullakin näistä biteistä. 1230 01:03:05,540 --> 01:03:06,450 Onko se 1? 1231 01:03:06,450 --> 01:03:07,320 Tulosta 1. 1232 01:03:07,320 --> 01:03:08,120 Onko se 0? 1233 01:03:08,120 --> 01:03:09,100 Tulosta 0. 1234 01:03:09,100 --> 01:03:10,530 Sitten menemme seuraavaan bitti. 1235 01:03:10,530 --> 01:03:11,210 Onko se 1? 1236 01:03:11,210 --> 01:03:11,610 Tulosta 1. 1237 01:03:11,610 --> 01:03:11,830 On 0? 1238 01:03:11,830 --> 01:03:13,080 Tulosta 0. 1239 01:03:14,880 --> 01:03:16,710 ALI: Cool, okei. 1240 01:03:16,710 --> 01:03:22,880 Nyt me olemme oikeassa indeksi missä että vähän on. 1241 01:03:25,380 --> 01:03:28,080 Miten voimme tarkistaa, että tietty yksi? 1242 01:03:28,080 --> 01:03:33,130 Sanotaan me olemme j = 0, joten haluamme tarkastaa 0 indeksi bitti. 1243 01:03:33,130 --> 01:03:37,980 Joten tässä tapauksessa, tämä yksi. 1244 01:03:37,980 --> 01:03:41,930 >> Joten nyt miten voimme edetä tarkistaa - Voi, se olisi tämä. 1245 01:03:41,930 --> 01:03:42,810 ROB: Joo. 1246 01:03:42,810 --> 01:03:44,310 ALI: Anteeksi. 1247 01:03:44,310 --> 01:03:47,930 Miten voisimme mennä tarkistaa, että yksi, tavallaan? 1248 01:03:47,930 --> 01:03:52,030 Miten voimme tarkistaa, jos se on 0 tai 1? 1249 01:03:52,030 --> 01:03:52,730 Hyvin let's - 1250 01:03:52,730 --> 01:03:53,940 LUOKKA: Ja 1? 1251 01:03:53,940 --> 01:03:54,390 Ali: Ja? 1252 01:03:54,390 --> 01:03:55,010 Joo. 1253 01:03:55,010 --> 01:03:57,810 ROB: Joten Sanotaan meillä on jo 1. 1254 01:03:57,810 --> 01:04:02,470 Sitten tämä &, tämä palaa oliko se 1 tai 0. 1255 01:04:05,580 --> 01:04:08,200 ALI: Joten voimme mennä alas. 1256 01:04:08,200 --> 01:04:10,695 Ja voimme tehdä te sanonut, tehdä ja funktio. 1257 01:04:13,810 --> 01:04:15,560 ROB: int - 1258 01:04:15,560 --> 01:04:18,290 Miten haluan sanoa tämän - 1259 01:04:18,290 --> 01:04:24,250 Isone = i. 1260 01:04:24,250 --> 01:04:29,770 Ja ensimmäinen bitti satumme katsot, teemme I & 1. 1261 01:04:29,770 --> 01:04:33,302 Nyt mitä aiomme halua ja jota toisen bittinen? 1262 01:04:33,302 --> 01:04:34,294 SPEAKER 47: 2. 1263 01:04:34,294 --> 01:04:36,110 ROB: Joo, toinen että olemme 2. 1264 01:04:36,110 --> 01:04:39,100 ALI: Huomaat, että 1 on siirtynyt vasen. 1265 01:04:39,100 --> 01:04:44,320 Joten olemme oppineet mitään bittioperaatioiden tehdä tämän tehtävän? 1266 01:04:44,320 --> 01:04:45,160 ROB: seuraava - 1267 01:04:45,160 --> 01:04:46,280 ALI: Joo, aivan. 1268 01:04:46,280 --> 01:04:48,670 Joten se vasen muutos. 1269 01:04:48,670 --> 01:04:51,120 Sen sijaan aina tarkkailun 1, aiomme siirtää sitä. 1270 01:04:51,120 --> 01:04:53,470 Ja kuinka monta kertaa aiomme siirtää sitä? 1271 01:04:53,470 --> 01:04:59,340 Jos me tarkkailun nollas yksi sitten aiomme siirtää sen yli nollan. 1272 01:04:59,340 --> 01:04:59,975 Joo, aivan. 1273 01:04:59,975 --> 01:05:02,090 Joten jätit siirtää sen j. 1274 01:05:02,090 --> 01:05:02,550 Perfect. 1275 01:05:02,550 --> 01:05:03,550 Joten nyt me tiedämme - 1276 01:05:03,550 --> 01:05:06,450 meillä on tämä INT jos se on 1, ja sitten - 1277 01:05:10,690 --> 01:05:14,670 joten Rob tavallaan huijausta täällä - 1278 01:05:14,670 --> 01:05:18,090 joten nyt hän oli menossa eteenpäin ja hän vain sanoi, että jos se todella on 1, 1279 01:05:18,090 --> 01:05:23,540 koska 1 on tosi, joten meidän ei tarvitse sanoa ISF Isone on 1 - 1280 01:05:23,540 --> 01:05:29,210 joten jos Isone, niin me painamme 1, ja muuten me painamme 0. 1281 01:05:29,210 --> 01:05:33,350 >> ROB: Joten meidän ohjelma on yleinen vika. 1282 01:05:33,350 --> 01:05:35,845 No, kysymyksiä tämän ensimmäisen. 1283 01:05:35,845 --> 01:05:41,692 SPEAKER 48: Voitko koskaan laittaa Isone sisällä neljä toiminta-osa ja 1284 01:05:41,692 --> 01:05:47,804 sitten se siirtää itsensä loppuosa? 1285 01:05:47,804 --> 01:05:50,050 Joten Isone on 1, ja sitten - 1286 01:05:50,050 --> 01:05:53,140 ROB: Kyllä voit. 1287 01:05:53,140 --> 01:05:57,200 Voimme todella osoittaa, että kun me korjata vika, että olen aikeissa 1288 01:05:57,200 --> 01:06:00,050 keskustella teidän kaikkien kanssa. 1289 01:06:00,050 --> 01:06:03,470 Huomaa järjestys menemme yli asioita. 1290 01:06:03,470 --> 01:06:10,570 Koska tämä binääriesitys, aloitamme kanssa nollas bitti. 1291 01:06:10,570 --> 01:06:13,010 Jos se on 0, niin me tulostus - 1292 01:06:13,010 --> 01:06:15,620 No, se on 0, joten tulostettaessa 0. 1293 01:06:15,620 --> 01:06:16,860 Sitten menemme toisen bitin. 1294 01:06:16,860 --> 01:06:19,100 Se on 0, joten tulostaa 0. 1295 01:06:19,100 --> 01:06:20,290 Sitten menemme kolmas bitti. 1296 01:06:20,290 --> 01:06:22,950 Se on 1, joten tulosta 1. 1297 01:06:22,950 --> 01:06:24,580 Ali: Niin se menee taaksepäin. 1298 01:06:24,580 --> 01:06:27,906 Joten miten te ehdottaa, että me korjata sitä ja mennä toiseen suuntaan? 1299 01:06:27,906 --> 01:06:28,900 SPEAKER 49: [kuulumattomissa] 1300 01:06:28,900 --> 01:06:29,490 ROB: Joo. 1301 01:06:29,490 --> 01:06:34,500 Joten sen sijaan menee 0: sta numBits, me mennä numBits bittiä 0. 1302 01:06:34,500 --> 01:06:35,600 Ali: Niin [kuulumattomissa] 1303 01:06:35,600 --> 01:06:36,940 voi aina mennä toiseen suuntaan. 1304 01:06:36,940 --> 01:06:38,970 ROB: NumBits miinus 1, koska se on viimeinen nubmer - 1305 01:06:38,970 --> 01:06:41,160 ALI: Koska se menee 0-31. 1306 01:06:41,160 --> 01:06:44,420 Ja sitten me aina varmista, että se on suurempi kuin 0 niin et mene 1307 01:06:44,420 --> 01:06:46,100 liikaa oikealle. 1308 01:06:46,100 --> 01:06:48,800 Ja sitten voit aina vähentää 1 mennä oikealle. 1309 01:06:48,800 --> 01:06:52,240 >> ROB: Eli nyt meillä on käänteinen silmukka, ja määrä on takaisin tulostus 1310 01:06:52,240 --> 01:06:53,586 oikealla tavalla. 1311 01:06:53,586 --> 01:06:57,560 SPEAKER 50: Eikö teillä vaihtaa shift juttu myös? 1312 01:06:57,560 --> 01:06:58,810 Ali: Niin no. 1313 01:07:03,810 --> 01:07:06,470 ROB: Teemme täsmälleen sama toiminta, paitsi nyt 1314 01:07:06,470 --> 01:07:07,470 päinvastaisessa järjestyksessä. 1315 01:07:07,470 --> 01:07:14,170 Joten sen sijaan tehdä Siirtämällä numBits miinus 1 saada mitä tähän 1316 01:07:14,170 --> 01:07:17,430 vähän on, eikä tehdä että viime, me vain tehdä se ensimmäinen. 1317 01:07:19,970 --> 01:07:22,970 Kääntämällä tätä täällä, meidän kääntää järjestyksen kaiken 1318 01:07:22,970 --> 01:07:24,190 että sisällä tapahtuu. 1319 01:07:24,190 --> 01:07:28,610 Mutta emme halua muuttaa mitä sisällä tapahtuu ollenkaan. 1320 01:07:28,610 --> 01:07:29,860 ALI: Onko järkeä? 1321 01:07:32,240 --> 01:07:33,660 Jalostus? 1322 01:07:33,660 --> 01:07:41,200 Okei, joten ei kukaan muu ole muita käsitteellisiä kysymyksiä? 1323 01:07:41,200 --> 01:07:45,030 ALI: Ennen kuin menemme hänen piste, joka on - 1324 01:07:45,030 --> 01:07:46,280 ALI: Selvä, hyvin mene. 1325 01:07:48,350 --> 01:07:53,160 Rob: Sen sijaan käyttää j on meidän - 1326 01:07:55,780 --> 01:08:00,550 sijasta j aina siirtyvän, kuten yksi vasen shift j, luulen 1327 01:08:00,550 --> 01:08:04,120 sanot on kuin, että J käyttää itse. 1328 01:08:04,120 --> 01:08:09,560 Joten j - 1329 01:08:09,560 --> 01:08:14,656 Kai tämä on kova - j = 1 << 31. 1330 01:08:14,656 --> 01:08:16,200 Sitäkö haluan? 1331 01:08:16,200 --> 01:08:18,470 Minusta se on << 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 joten nyt sijasta - 1335 01:08:35,620 --> 01:08:38,370 ALI: Olet jatkuvasti liikkeessä j sijasta ottaa 1336 01:08:38,370 --> 01:08:40,520 indeksi tarkistaa sen. 1337 01:08:40,520 --> 01:08:42,130 Se ei ole niin paha. 1338 01:08:42,130 --> 01:08:43,960 Käytämme samantyyppinen logiikkaa. 1339 01:08:43,960 --> 01:08:46,202 Joten jos palaat - 1340 01:08:46,202 --> 01:08:50,020 Voi, mutta se tulee menettää sitä. 1341 01:08:50,020 --> 01:08:51,380 Okei, olet juuri menossa kirjoittaa sitä uudelleen. 1342 01:08:51,380 --> 01:08:56,880 Jos huomaat, että meillä on 1 << j määrän kertoja, ja olimme 1343 01:08:56,880 --> 01:09:02,279 lisäävä j joka ikinen kerta askeleen verran, mutta tällä kertaa sen sijaan 1344 01:09:02,279 --> 01:09:06,010 he tekevät lisäys j yläosassa sisäpuolella varten silmukka. 1345 01:09:06,010 --> 01:09:10,890 Joten sen sijaan aina liikkuu alas - 1346 01:09:10,890 --> 01:09:15,220 ROB: ensimmäinen iterointia varten silmukan, meillä j on 10000. 1347 01:09:15,220 --> 01:09:20,000 Seuraavan iterointia varten silmukka on 01000. 1348 01:09:20,000 --> 01:09:22,380 Seuraavan iteraation on, että. 1349 01:09:22,380 --> 01:09:26,800 Ja 1 on juuri menossa pitämään lisäys kunnes osuimme hyvin 1350 01:09:26,800 --> 01:09:29,729 loppuun, jos nyt se on tässä. 1351 01:09:29,729 --> 01:09:33,990 Seuraava, 1 aiotaan työnnetään pois, ja j on enää suurempi 1352 01:09:33,990 --> 01:09:35,090 tai yhtä suuri kuin 1. 1353 01:09:35,090 --> 01:09:38,380 Voisin myös laittaa suurempi kuin 0, sama ero. 1354 01:09:38,380 --> 01:09:41,580 Ja sitten se on siinä. 1355 01:09:41,580 --> 01:09:43,720 Kysymyksiä? 1356 01:09:43,720 --> 01:09:44,760 Joo. 1357 01:09:44,760 --> 01:09:49,740 >> SPEAKER 51: [kuulumattomissa] 1358 01:09:49,740 --> 01:09:51,729 ROB: Niin, että sama kuin - 1359 01:09:51,729 --> 01:09:57,270 oletko nähnyt j + = 3? 1360 01:09:57,270 --> 01:10:00,960 Joten tämä on sama kuin j = j + 3? 1361 01:10:00,960 --> 01:10:05,560 Voit tehdä, että lähes kaikki operaattorin C. Joten J >> = 3 on 1362 01:10:05,560 --> 01:10:10,490 yhtä j = j >> 3. 1363 01:10:13,980 --> 01:10:16,760 Niin että toimii myös bittioperaatioiden. 1364 01:10:16,760 --> 01:10:19,630 Ja Minun ei olisi pitänyt laittaa 31 täällä. 1365 01:10:19,630 --> 01:10:23,790 Minun olisi pitänyt laittaa numBits - 1. 1366 01:10:23,790 --> 01:10:25,380 ALI: Jee, no Magic Numbers. 1367 01:10:25,380 --> 01:10:29,070 Okei, se on 4:00 vaikka, joten jos teillä mennä - mutta tämä järkevää? 1368 01:10:29,070 --> 01:10:30,320 Onko teillä muita kysymyksiä? 1369 01:10:33,920 --> 01:10:38,470 ROB: Olin myös menossa heittää, että jos me halusimme - 1370 01:10:38,470 --> 01:10:41,326 on hän keskusteli ternäärinen operaattori ollenkaan? 1371 01:10:41,326 --> 01:10:42,730 ALI: Ei 1372 01:10:42,730 --> 01:10:45,090 Se on okei. 1373 01:10:45,090 --> 01:10:46,970 ROB: Joten voi tutkia sitä ensi kerran. 1374 01:10:51,030 --> 01:10:52,080 ALI: Okei, oikeasti? 1375 01:10:52,080 --> 01:10:53,150 Nyt olet vain komeilu. 1376 01:10:53,150 --> 01:10:54,210 ROB: Ei, nyt Se on - 1377 01:10:54,210 --> 01:11:00,490 Tämä on mitä saa ihmiset kiinnostumaan, ja nyt he menevät tutkimaan sitä. 1378 01:11:00,490 --> 01:11:02,640 Joten nyt, että ei sama asia, yhdessä vaiheessa. 1379 01:11:05,150 --> 01:11:10,950 Joten tarkista ensin, on I & J 1? 1380 01:11:10,950 --> 01:11:12,530 Onko se totta? 1381 01:11:12,530 --> 01:11:17,000 Jos on, niin tulosta 1, muuten, tulosta 0. 1382 01:11:17,000 --> 01:11:19,190 ALI: Mutta teemme sen toisella tavalla on täysin hieno samoin. 1383 01:11:19,190 --> 01:11:20,920 Se on sama logiikka. 1384 01:11:20,920 --> 01:11:22,730 Joten se ei ole kuin yksi - 1385 01:11:22,730 --> 01:11:24,620 ROB: Tässä vaiheessa voimme päästä eroon näistä aaltosulkeita, koska se on ainoa 1386 01:11:24,620 --> 01:11:27,190 yksi linja silmukka. 1387 01:11:27,190 --> 01:11:29,370 ALI: Okei, joten ei se järkevää? 1388 01:11:29,370 --> 01:11:30,370 Se oli eräänlainen hypätä. 1389 01:11:30,370 --> 01:11:34,870 Mutta se oli vain eräänlainen syntaksin, enemmän. 1390 01:11:34,870 --> 01:11:36,250 >> Cool? 1391 01:11:36,250 --> 01:11:37,500 Muuta kysyttävää? 1392 01:11:40,880 --> 01:11:41,570 ROB: Selvä. 1393 01:11:41,570 --> 01:11:42,310 ALI: Selvä, viileä. 1394 01:11:42,310 --> 01:11:43,560 Kiitos kun tulit kappale.