[Powered by Google Translate] [SWNIO'N SEFYDLOG ELECTRONIG] ROB: Iawn, felly beth rydym yn unig yn dod i chi yn CS50 Mannau. ALI: Arhoswch, aros yn ôl i fyny. Croeso i adran! ROB: Croeso i adran! ALI: Yay! ROB: Supersection! ALI: Rwy'n Ali ac mae hyn yn Rob. Iawn, yn awr byddwn yn esbonio Mannau. ROB: Felly beth rydym yn unig yn dod i chi yn CS50 Mannau. Byddwch yn defnyddio'r lot yn yn eich adrannau y semester hwn. Yn y bôn, rydym eisoes wedi ei lawrlwytho yr offer. A allwch chi feddwl am CS50 Mannau fel rhyngwyneb gwe siarad ag offer bod gennym ar rai gweinydd yn rhywle. Felly, gallwch chi redeg eich cod yn y rhyngwyneb, ac byddwn ni weld sut i wneud pethau. Gallwch hefyd edrych ar y cod pobl eraill yn yr adran, ac - ALI: Ac fel y mae rhai pobl wedi darganfod, gallwch chi sgwrsio bobl ar yr ochr. A byddwn ni i gyd yn ei weld, hefyd, felly dyna gyffrous. Dewch ymlaen, yn dod i eistedd. Cymerwch sedd. ROB: Felly, adrannau yw - ALI: Na, na, gallwch chi guys ddod. ROB: Adrannau yn mynd i fod yn llawer mwy rhyngweithiol hwn yn semester. ALI: O, mae'n debyg - Oh. Iawn, oer. Felly, os ydych guys yn unig yn dod i mewn, gallwch fynd at y ddolen, os gallaf gael yno, iawn yno. Ni allwn yn wir ysgrifennu, oherwydd nad oes gofod bwrdd, ond y ddolen hon i'r dde yma, ewch i hynny ar eich cyfrifiaduron, a byddwch yn mynd i mewn CS50 Mannau, sydd yn beth 'n bert oera. Iawn. A oes gennych broblem? ROB: Felly, gallwch chi ddod o hyd i'r problemau - mae angen i ni fod yn gallu ysgrifennu hyn yn rhywle. Felly, os ydych yn mynd i cs50.net/psets a dyma'r supersection haciwr - a byddwch yn mynd i mewn i'r Argraffiad Hacker o pset un, edrychwch ar y fanyleb rhywle i lawr ar dudalen - ALI: Felly y bôn, tra bod Rob yn edrych, beth ydym yn mynd i'w wneud yn heddiw adran hon mae yna adran o broblemau - ROB: - ar dudalen wyth. ALI: - a elwir yn adran o broblemau - ROB: Adran o gwestiynau. ALI: Mae'n ddrwg gennyf, adran o gwestiynau. A'r rhai yn yr hyn yr ydym yn mynd i fynd dros - y rhai yn yr hyn yr ydym yn mynd i fynd dros heddiw yn adran. Ac rydym ni'n mynd i cod ar CS50 Mannau, a gobeithio y bydd yn gweithio. A gallwn dim ond siarad drwyddynt. A allwch chi guys ofyn cwestiynau pryd bynnag y byddwch yn teimlo - ROB: Felly, mae hyn yn mynd i fod yn beth cyffredin gyda psets mwyaf. Rwy'n credu gyda hwn, mae'n dweud nad oes rhaid i chi law y cwestiynau hyn mewn Ond mae'r syniad yw bod y cwestiynau hyn yn cael eu rhoi ar y pset, a gallwch ddod i adran i gael y cwestiynau eu hateb. Neu os nad ydych yn dod ag adran, gallwch ateb nhw ar eich pen eich hun neu gael helpu yn ystod yr oriau swyddfa neu rywbeth. Ond mae'r rhain yn gwestiynau sydd i fod i prep i chi am y broblem a osodwyd. Ac ar y rhifyn haciwr, gallai llawer o'r cwestiynau dim ond mater o ehangu eich gwybodaeth CS ar hyn o bryd. ALI: Yep, 'n bert lawer. Iawn, felly, mae pawb ar CS50 Mannau? Hi, yn dod i mewn SIARADWR 1: A allwn ni weld y URL un mwy o amser? ROB: Yeah, bydd hyn yn haws unwaith y byddwch mewn gwirionedd yn eich adrannau, ac dim ond gall eich TF e-bostio i chi ymlaen llaw URL. ALI: Yay, gymryd sedd. Mae yna seddi yma. Nid yw'r blaen yn y drwg. Beth? Felly, CS50 Spaces, rydym yn mynd yno. A oes unrhyw un gennych unrhyw gwestiynau cyn i ni fynd i mewn - beth? ROB: Does dim hyd yn oed unrhyw sialc. [Anghlywadwy] ALI: Mae'n ddrwg gennyf. Gallech ddefnyddio eich ewinedd? Rydym mewn ystafell isel iawn-dechnoleg ar gyfer dosbarth uchel iawn-dechnoleg. Iawn, mae pawb fath o dda? Oes gan unrhyw un yn dal i gwestiynau am y peth? Fel y dywedais o'r blaen, rydyn ni'n mynd i fynd drwy'r adran o'r cwestiynau yn y manylebau pset. Felly, nid dim ond un neu ddau o broblemau yr ydym yn mynd i cod i fyny yn CS50 Spaces. A yw pawb yn dda? Iawn. Da? ROB: A oes gennych gliniadur? ALI: Gallwch hongian allan gyda Lucas. Mae'n eistedd i'r dde nesaf i chi. Amser Bondio. ROB: Felly, yn dechrau gyda'r broblem yn gyntaf? ALI: Yeah. Gallwn ddechrau. Ydych chi eisiau i mi - Gallaf fynd. Felly, byddwn yn mynd i'r specs pset. O, pam ei fod - ROB: Rheoli. ALI: Iawn, felly rydym yn mynd i mewn i ateb y pethau hyn hefyd? ROB: Oh, yeah. Felly - ALI: O, oedd pawb gwylio Rob shorts serennu? Iawn, oer. ROB: Yeah, nid wyf yn credu ein bod o reidrwydd yn disgwyl i chi gael wylio cyn dod i'r adran hon, ond gallwn drafod y rheini problemau ymlaen llaw, gan eu bod o dan yr adran o bethau cwestiynau. Felly os nad ydych wedi ei wylio, peidiwch â phoeni. Gall y rheiny sydd wedi ceisio ateb. Felly, y cwestiwn cyntaf, beth yw cyn-brosesydd, sut mae # cynnwys yn berthnasol? Felly, oes unrhyw un yn cael ateb i hynny? ALI: Gallwch guys siarad allan. Cadarn, mynd yn ei flaen. SIARADWR 2: # yn cynnwys rhywfaint o cod cyn-ysgrifenedig, ac yn hytrach na copïo a gludo yn eich rhaglen, drwy ddweud yn cynnwys hynny, cyn-prosesydd yn gwybod ei fod yno ac y dylai ei ychwanegu yn y ddiweddarach neu cyn i unrhyw beth arall yn digwydd. ALI: Yeah, awesome. Cool. ROB: Felly pan fyddwch chi'n mewn gwirionedd yn llunio rhaglen, cyn-prosesydd yw hyn cam cyntaf. Casgliad yn digwydd mewn pedwar cam mawr. Felly, y prosesydd cyn-yw'r un mawr cyntaf, ac mae'n y boi sy'n mynd trwy ac yn edrych ar gyfer pob un o'r symbolau hash. Ac unrhyw linell sy'n dechrau gyda hash, y prosesydd cyn-edrych arno ac yn gweld os gellir ei phrosesu. Felly, # yn cynnwys dweud wrth y cyn-brosesydd i chwilio am rai cs50.h ffeilio a jyst adysgrifia a bastio 'ei gynnwys yn y ffeil hon. Felly, gallwch chi wir # yn cynnwys unrhyw beth rydych eisiau, ond mae'n bennaf yn mynd i fod . Ffeiliau h. Nid ydym wedi gotten i # diffinio eto, felly nid yw hynny'n bwysig. ALI: Yeah, rydym yn dda ar y un. A oes unrhyw un gennych unrhyw gwestiynau am hynny? Ydyn ni'n dda? Cwestiwn nesaf. SIARADWR 3: Yn y tymor byr, roedd rhywbeth am c yn ogystal.? Yw hynny'n berthnasol neu a yw'n amherthnasol? ROB: Ynglŷn c gyda'r prosesydd cyn-.? SIARADWR 3: Yeah, neu wnes i wneud rhywbeth i fyny? ROB: Felly, efallai y tymor byr wedi bod yn dangos cyn-prosesu y ffeil a . outputting i ffeil arall c, er mwyn i chi rag-brosesu ffeil hon - wrth i chi redeg fel, yn gwneud helo neu hello.c clang, rydych yn gwneud popeth llunio mewn un cam mawr. Ond gallwch ei wneud yn benodol yn ei gamau ar wahân. Felly, yn gyntaf y gallwch chi ymlaen llaw ei brosesu. Yna gallwch lunio, yna gallwch gydosod, ac yna gallwch chi gysylltu. Byddwn yn mynd i'r rhai rhai eraill. Ond mae cyn-brosesu, byddwch yn fath o broses cyn-, ac yna mae'n mynd i mewn i arall. ffeil c. Oherwydd nad yw cyn-brosesu yn wir yn newid unrhyw beth. Mae'n dim ond bagad o gopi a gludo. Gallech llaw adysgrifia a bastio 'eich hun. ALI:. Ac i fod yn glir, y ffeil c yn ffeil C, felly mae'n hysgrifennu yn C cod. Felly, mae'n mynd o C i C cod cod. Rydych yn unig ychwanegu cod mwy gyda'r bunt. ROB: Pan i chi rag-brosesu, mae'n dal i fod yn ffeil C dilys. SIARADWR 3: Iawn. ALI: Cwestiwn da. Rwy'n hoffi hynny. Iawn, cwestiwn nesaf. Beth yw'r compiler? Dylai unrhyw un? Ydw. SIARADWR 4: Mae'n newid y cod cyn-prosesu i mewn cynulliad. ALI: Perfect. ROB: Ydw. ALI: Cool. ROB: Felly dyna beth y casglwr yn ei wneud yn benodol pan fyddwn yn defnyddio Clang. Mewn ystyr cyffredinol iawn, casglwr yn union fel gymryd cod mewn un iaith a throi i mewn iaith arall. Felly, yn C - neu, yn dda, Clang yn cymryd cod sy'n yn C a drawsnewid i ymgynnull. Ac nid oes rhaid i chi fod yn gallu deall y cynulliad o gwbl. Ond dyna yr iaith ei fod yn troi i mewn. ALI: Iawn. Ac yna, beth yn cyfosodwr? Dylai unrhyw un? SIARADWR 5: [Anghlywadwy] i deuaidd? ALI: Mae'n ddrwg gennyf, beth? SIARADWR 5: [Anghlywadwy] i deuaidd? ROB: Yep. ALI: Ydw. ROB: Felly y cyfosodwr - cynulliad cod yn wir, yn agos iawn at yr hyn y gall eich cyfrifiadur ddeall, ond cofiwch nad yw'n deall yn iawn y testun ystyr hynny yw cynulliad. Mae angen i chi drosi i mewn 1s syth a 0au. Mae'n debyg i broses gyfieithu uniongyrchol. Gallai Rydym yn unig yn rhoi i chi tabl sy'n mapiau hyn y mae pob cyfarwyddyd y Cynulliad yn ei olygu. Ond mae'r cyfosodwr yn unig yw gwneud y cyfieithiad i chi. Mae'n trawsnewid y cod cynulliad i 1s a 0au. ALI: Ac yna, ar gyfer yr un olaf, beth a linker? A sut mae-lcs50 yn berthnasol? Dylai unrhyw un? ROB: Mae hwn yw'r anoddaf a lleiaf esboniodd un yn y fideo compiler. ALI: A oes unrhyw un yn cofio gweld-lcs50 mewn gorchymyn? SIARADWR 6: Pan fyddwch yn mynd i'r gwneud. ALI: Mae yn y gwneud. Yeah, oer, iawn. A oes unrhyw ddyfalu neu amwys - ie, ewch. SIARADWR 7: Nid wyf yn sicr, oherwydd bod eich byr yn wir [Anghlywadwy], ond roedd ei rhywbeth am wneud ffeiliau ar wahân i bob llyfrgell ac yna rhoi nhw i gyd at ei gilydd mewn un llyfrgell? ROB: Ydw. Felly pan fydd gennych hello.c, yn rhaglen syml iawn. Rydych yn wir dim ond gwneud un peth ynddo. Ond pan fyddwch yn mynd i mewn i raglenni eraill - ac yr wyf yn dyfalu hyd yn oed pan fyddwch yn GetString yn eich rhaglenni, mae angen i chi ddechrau gan gynnwys ffeiliau eraill. Felly, y llyfrgell CS50 yn un ffeil o'r fath lle y mae gennym y gweithrediadau o GetString a GetInt a'r holl bethau hynny. Felly beth yw'r linker yn ei wneud yn yn mynd o gwmpas yn chwilio trwy bob un o'r rhain ffeil, gweld lle mae swyddogaethau yn cael eu diffinio, gan wneud yn siŵr bod pan fyddaf yn galw GetString rywle, mae'n gwybod bod GetString yn golygu ei fod yn y GetString drosodd yn y llyfrgell CS50. Felly, y linker yn unig yn cymryd yr holl ffeiliau hyn, smashes nhw at ei gilydd, ac yn awr gennych gweithredadwy. Felly, yn cadw mewn cof, os ydych chi'n defnyddio'r llyfrgell CS50, bydd angen y # Cynnwys ar y brig, ac yna hefyd yn eich gorchymyn gwneuthuriad, fel y Dywedodd, rhaid i chi gael y-lcs50. Felly, nid ydych yn gallu cael un. Felly dyna dim ond rhywbeth i gadw mewn cof ar gyfer y dyfodol. SIARADWR 8: Felly, gadewch i ni ddweud nad oedd lyfrgell arall, fel cs51.h fyddai, rydym yn hefyd yn gorfod ychwanegu-lcs51? ROB: Yr unig reswm y-lcs50 gweithfa 'n anhyfreg oherwydd ein bod yn cael y set i fyny mewn man penodol yn eich offer fel ei fod yn gwybod beth -Lcs50 modd. Gallai Rydym yn unig yn rhoi i chi ffeil cs50.c, ac yna gallech llunio, gan ddweud Clang hello.c cs50.c, ac yna byddai'n gwneud eich gweithredadwy drwy roi y ddwy ffeil gyda'i gilydd. Mae'n gwybod bod-lcs50 golygu cs50.c dros mewn rhai cyfeiriadur sy'n ein nodir yn eich offer. Felly, os ydych eisiau cs51.c i fod yn specifiable drwy ddweud-lcs51, yna byddai angen i ni hefyd ei gosod yn y cyfeiriadur felly mae'n gwybod ble i chwilio amdano. ALI: Beth oedd eich cwestiwn? SIARADWR 7: Pam mae'n rhaid i chi gysylltu'r CS50 os - wasn't ei gopïo / gludo ar y cam cyntaf pan fyddwch yn rhag-brosesu? ALI: Ydych chi eisiau mynd ag ef? ROB: Cadarn. Felly y ffeil cs50.h ar wahân i'r ffeil C cs50.c. Ydych chi wedi gotten i weithredu prototeipiau yn y dosbarth? Iawn. Felly y bôn, y ffeil cs50.h yn unig yn mynd i gopïo a gludo - ALI: Ydych chi'n guys gwybod beth llofnodion? Iawn, felly 'n bert lawer, os edrychwch ar - ROB: Nid yw Gadewch i esgus cs50.h yno. Nawr ffeil hon - rydych chi'n ei wneud llinyn s = GetString. Ond pan fyddwn wedi gotten at y pwynt hwn yn y cod, nid oes ganddo syniad beth GetString yn. Mae'n gwybod ei fod yn swyddogaeth, ers i chi yn ei alw yn. Ond nid yw'n gwybod ei fod yn fod mewn gwirionedd i ddychwelyd llinyn. Felly, fel y dywedais, llinyn s = GetInt, nid yw hyn yn gwneud unrhyw synnwyr, gan fod ydych yn arwyddo cyfanrif i linyn. Ond nid yw'n gwybod bod GetString yn gwneud synnwyr, oherwydd nad yw'n gwybod bod GetString yn dychwelyd llinyn. Felly beth cs50.h yn dweud rhywbeth fel hyn. ALI: Felly beth Rob yn teipio yw, mae'n addewid mewn ffordd y mae'n mynd i cael y swyddogaeth a elwir yn GetString. ROB: Mae hyn i gyd y cs50.h yn copïo a gludo i mewn yma, yn ogystal fel GetInt a'r holl bethau hynny. Ac mae hyn dim ond yn dweud bod GetString yn dychwelyd llinyn. Dydych chi ddim yn gwybod sut mae'n cael ei weithredu eto, ond pan fyddwn yn cyrraedd y llinell hon, sydd bellach yn yn gwybod ei fod yn gywir yn dychwelyd llinyn. SIARADWR 9: Felly, os nad ydym yn trafferthu gyda'r peth # cynnwys ac yn hytrach newydd ei ysgrifennu yn brototeip ar gyfer y rhai yr ydym mewn gwirionedd yn mynd i'w ddefnyddio? ROB: Yeah. Felly, gadewch i ni redeg hyn. SIARADWR 9: A yw'n? Felly, yn ddiofyn, byddai'n gwneud y l-i CS50 dim ond oherwydd -. ROB: - mynegiant. ALI: Ie, oherwydd fel y dywedasoch, 'i' yn y ffeil wneuthuriad. ROB: cs50.h hefyd yn digwydd bod * typedef torgoch i llinyn. Gallwch llwyr anwybyddu beth mae hynny'n ei olygu ar hyn o bryd. Ond hefyd yn rhywbeth a gynhwysir yn cs50.h. Felly nawr pethau'n gweithio'n berffaith iawn. Mae'n rhedeg yn union yr un fath ag yr oedd pan rydym yn unig wedi y # gynnwys. Ac felly, gan gynnwys cs50.h yn digwydd i dros-yn cynnwys pethau rydych ei angen - fel, nad ydych yn defnyddio'r GetInt yn y rhaglen hon, ond does dim ots. Bydd yn ei hanwybyddu. ALI: Ac yna pan fyddwch yn gwneud y-lcs50 dros yma ac i'r dde yma, beth sy'n mynd arno yw ei fod yn cael y cod implementable gwirioneddol. Felly dyna lle mae hynny'n wirioneddol yw, gwneud yr - ysgrifennu'r cod ar gyfer GetString. Felly, nid dim ond addewid anymore. Mae'n mewn gwirionedd yn mynd trwy ac yn cymryd y llinyn a'r holl bethau. Gwneud synnwyr? Cwestiynau? Mae pob hawl. Ffa Cool. ROB: Nawr gallwn symud ymlaen i cod gwirioneddol. ALI: Iawn. Felly dyma yw'r broblem yn gyntaf. Felly, mae'n dweud ysgrifennu rhaglen sy'n annog y defnyddiwr ar gyfer llythrennau bach llythyr ac yna yn trosi i priflythyren heb ddefnyddio bitwise gweithrediadau, yn unol â'r allbwn sampl isod. Felly gallwch weld, rydych yn rhedeg y rhaglen gyda'r. / A.out, ac yna rydych chi'n mynd i roi mewn llythrennau bach a, ac yna dylai eich rhaglen yn rhoi allan gyfalaf A. Felly pam na wnewch chi guys i gyd yn rhoi cynnig arni ar CS50 Mannau? Felly, gallwch chi guys i gyd yn mynd yma. A allwch chi ddileu yr holl cod yn y fan hon. Ac yna gallwch fynd ymlaen a dechrau codio y peth. ROB: Mae'n debyg y byddwch am ddefnyddio GetChar, dyna gynnwys yn y llyfrgell CS50. ALI: Amcana efallai y byddai'n well os ydych yn achub y rhan uchaf. Felly, efallai y byddwch am jyst newid y pethau yn y canol. Mynd yn ei flaen ac yn gweithio. Teimlwch yn rhydd i weithio gyda'i gilydd. ROB: A allwch chi ofyn cwestiynau os oes gennych chi - SIARADWR 10: Beth yw llawdriniaeth bitwise? ROB: Felly, yn anwybyddu hynny am y broblem hon. ALI: Os nad ydych yn ei wybod, sy'n dda. ROB: Rydym yn mynd i ddefnyddio yn y broblem nesaf. Ond os nad ydych yn gwybod beth yw gweithredwr bitwise yw, mae hynny'n iawn. SIARADWR 10: A yw bod fel ei droi er mwyn cod ASCII? ALI: Na ROB: Na Gallwch wneud hynny am y broblem hon. SIARADWR 10: Sut ydych chi'n gwneud hynny? Felly, os mai dim ond gen i rywle i ysgrifennu - ALI: Neu rywbeth i ysgrifennu. ROB: gallwn unig fath o fath i mewn i hyn. ALI: Math ar y brig. ROB: O, rwy'n eistedd ar meic. Felly, rydym yn gweld mewn darlith bod y gwerth ASCII ar gyfer cyfalaf A yn 65 oed. A bydd cyfalaf B yn 66, ac yn y blaen. Fel y gallwch llythrennol ddefnyddio 'A' i olygu y rhif 65. Fel, dyma werth 65. Gallaf ei wneud rhywbeth fel int x = 100 - 'A'. Ac yn awr y bydd x yn cael y gwerth 100-65. ALI: Gallwch redeg hynny a dangos hynny. O ddim, efallai. Peidiwch byth â meddwl. ROB: Bu'n rhaid i mi ei argraffu. SIARADWR 10: Sut ydych chi'n ei droi yn ôl i gymeriad? ALI: Felly, os ydych yn peidiwch - 'ch jyst ei orfodi i fod yn Mae torgoch, yn hafal i. ROB: Felly mae - y gwahaniaeth rhwng golosg a cyfanrif yn unig o ran maint. Felly cyfanrif digwydd i fod yn gallu cynrychioli pethau i fyny i, fel, bedwar biliwn. Mae torgoch yn unig yn gallu cynrychioli pethau hyd at 255. Ond nid oes unrhyw wahaniaeth rhyngddynt eraill na hyn. Felly, gallwch ddweud torgoch c = 65. Mae hynny'n cyfateb i ddweud c golosg yn hafal i 'A'. ALI: O, na. Nid yw'n mewn gwirionedd yn arbed pethau. ROB: Na, ni allwch wneud hynny. ALI: Dyna yn unig - [Griddfan] ROB: Iawn, felly beth Ali newydd ei ysgrifennu yn rhaglen sef y ddogfen gyntaf argraffu 100 - 'A' fel cyfanrif, a oedd yn 35, fel yr ydym yn ei ddisgwyl, gan fod 100 minws y ASCII gwerth A yn 65 oed. Yna mae hi'n eu hargraffu gan ddefnyddio%, c sy'n golygu ei ddehongli fel torgoch. Felly, 100 - a yw 35. Dehongli hynny fel cymeriad yn digwydd i fod yn symbol hash. Os ydych yn edrych ar asciitable.com neu beth bynnag, byddwch yn gweld bod 35 yw'r symbol hash. ALI: Iawn, unrhyw eglurhad arall am y broblem? Iawn, gallwch chi guys mynd yn ei flaen ac yn ei wneud hynny. Teimlwch yn rhydd i ofyn cwestiynau neu siarad â'i gilydd. Neu os ydych chi'n ei wneud yn barod, gallwch ymlacio. LUCAS: Ydyn nhw yr un dosbarth, yr holl lythrennau bach mewn trefn ac hefyd priflythyren hefyd mewn trefn, oherwydd dyna rhywbeth defnyddiol ar gyfer y broblem. ALI: pwynt da, Lucas. Felly, wnaethoch chi guys i gyd yn cael hynny? SIARADWR 11: Ydy. Dyna sut yr ydych yn ei wneud, dde? ALI: Iawn. ROB: Yeah. SIARADWR 11: [Anghlywadwy] ALI: pob hawl. ROB: Beth yw'r cwestiwn yn gofyn? Dim ond i drosi - ALI: Trosi y llythrennau bach i'r priflythyren. Dyna ni. ROB: Iawn. ALI: A ddylem ni ei ysgrifennu? Amcana y byddwn yn edrych ar rywun arall. ROB: Felly, ar gyfer rhai a allai fod yn sownd, ffordd - os oes gen i rai c golosg, a gadewch i ni ddweud ei fod yn digwydd i fod yn y llythyr D. Felly, nawr sut y gallaf chyfrif i maes pa lythyr yr wyddor C yw? Ddim yn D, ond yr wyf yn golygu, D digwydd i fod yn y llythyr pedwerydd y wyddor. Ac os ydym yn dechrau cyfrif o 0, yna ei fod yn y llythyr o dair o'r wyddor. Felly, os yw A 0, B yw 1, C yw 2, D yw 3, sut alla i chyfrif i maes sefyllfa int - yr hyn y swydd y C wyddor yn? A oes unrhyw un gennych unrhyw syniadau? ALI: Rwy'n credu eu bod nhw i gyd yn codio. ROB: Beth am yr un cyntaf? SIARADWR 12: Felly, beth bynnag A yw, tynnwch yr un cyntaf? ROB: Yeah. ALI: Yeah, awesome. Felly, gallech wneud cyfalaf D - oh, sori. Rydych yn cymryd y cymeriad a rydych chi'n tynnu'ch yr un cyntaf, fel y dywedasoch. ROB: Felly, os yw D yn rhywbeth fel 68, ac rydym yn tynnu A, sy'n 65 oed, yna rydym yn cael 3, yn dweud wrthym fod D yn y llythyr o dair o'r wyddor dechrau o 0. Felly, gallwch ddefnyddio hynny. Nawr rydym yn gwybod beth llythyren o'r wyddor, o ran priflythrennau, neu - gallem wneud yr un peth i lythrennau bach i chyfrif i maes beth lythrennau bach sefyllfa rydym yn ynddo A gallwn ddefnyddio hynny wedyn i drosi bod i priflythyren defnyddio syniad yn debyg iawn. Gofynnwch am awgrymiadau? ALI: Ydych chi'n guys - aros, nid wyf yn gwybod pa mor bell ydych yn guys. Ydych rhan fwyaf ohonoch wneud, a ydych yn dal i weithio, a ydych yn sownd? Gallwch guys weiddi allan - yn sownd. Mae un person yn sownd. Cool. Dwi'n tueddu i fod yn gaeth, hefyd. SIARADWR 13: dwi'n ei wneud. ALI: Rydych yn ei wneud? Iawn. Done. SIARADWR 13: [Anghlywadwy] ALI: Yeah, oer. A ydych yn gwirio ei fod ar ffurf llythrennau bach? Iawn, oer. Ble mae'r bobl eraill? A wnaeth hyn awgrym helpu chi, fel ar gyfer heb ei ludo eich hun? SIARADWR 14: Ddim mewn gwirionedd, ond dim ond oherwydd, nid wyf yn gwybod, dydw i ddim ei dreulio eto. ALI: Iawn, oer. Ydych chi am roi cynnig ar - neu a ydych am fynd a siarad? ROB: Yr hyn yr wyf yn mynd i ddweud yw - felly ddefnyddio hyn. Ydych chi'n deall sut y cawsom ein beth yw safbwynt y wyddor y llythyr yn? SIARADWR 14: Iawn, felly pan fyddwch yn rhoi pethau yn dyfyniad sengl, sy'n dychwelyd nifer? ROB: Ydw. Bydd yn cael ei gyfieithu i'r gwerth ASCII mae'n ei gynrychioli. Felly, ydych chi eisiau mynd at y tabl ASCII neu beth bynnag ydyw? ALI: Dim ond un o'r rhain? ROB: Yep. Felly, pan fyddwch yn rhoi unrhyw un o'r symbolau hyn, gan anwybyddu llawer o'r - ALI: [Anghlywadwy] ROB: O, gan ddefnyddio'r cyrchwr. ALI: Yeah. Dyna oedd gyffrous. ROB: Felly, gan anwybyddu hyn rhai ar y chwith, sydd yn symbolau arbennig - os byddwch yn rhoi unrhyw un o'r symbolau hyn mewn dyfynodau sengl, yna bydd yn cyfieithu i'r gwerth hwn ar y chwith. ALI: Dyma'r rhif degol ar ei gyfer. Mae'n debyg i gemau gyda 65, B i 66, a byddwch yn sylwi eu bod nhw i gyd yn trefn yr wyddor, sy'n gwneud gwahaniaeth. Felly, fel y dywed Rob, cyn, yn y cod, rydym yn cyfrifo pellter oddi wrth y llythyr cyntaf, fel y cyfryw. A dyna fydd yr un fath, boed yn priflythyren neu llythrennau bach. ROB: Felly, pan wnaethom D, 68 minws A 65,, rydym yn cael 3. Gan fod D yn dair swydd yn y wyddor. ALI: Felly, yna sut fyddech chi'n cyfieithu hynny drosodd i ddod o hyd i'r d bach? ROB: Yeah. Felly os gen i 3 awr, yr wyf yn gwybod fy mod i eisiau mynd i mewn i dri llythyr y - rydym yn digwydd bod yn mynd llythrennau bach yn awr, ond gadewch i ni ddweud fy mod eisiau mynd 3 swyddi i mewn i ochr lythrennau bach o bethau. Felly, sut y gallaf wneud hynny? Yr wyf yn gwybod lythrennau bach a yw 97. Felly, sut ydw i'n dod o hyd tair swydd i lythrennau bach? SIARADWR 15: Mae gennyf un cwestiwn mewn gwirionedd. ALI: Yeah, mynd yn ei flaen. SIARADWR 15: Felly, ar gyfer hyn, nid oes ots os wyf yn gwybod y sefyllfa hon, hoffi, nid oes angen y tabl hwn. ROB: Na. Ni fydd angen i chi ddefnyddio unrhyw un o'r rhifau hyn. Ac mae hyn yn bwynt pwysig yn eich rhaglenni na dylech caled cod unrhyw un o'r cysonion. Defnyddiwch 'A'. byth yn defnyddio 65 neu 97. ALI: Mae'r rhai yn cael eu galw'n rhifau hud, ac maent yn wirioneddol ddryslyd. Fel, pan fyddwch yn debugging cod, efallai na fyddwch yn cofio beth rydych yn eu defnyddio ar gyfer. Ac i ni graddio eich cod, ni fyddwn yn wir yn gwybod beth ydych yn ei ddefnyddio ar eu cyfer. Felly, mae'n well os ydych mewn gwirionedd yn defnyddio'r cymeriadau felly mae'n gwneud mwy o synnwyr i bobl. Iawn, unrhyw gwestiynau eraill? A yw mwy o bobl yn ei wneud, neu - Amcana i ni allu gwirio. Mae'n wirioneddol creepy y gallwch weld cod pobl. ROB: Yeah. Nid ydym yn rhaid i chi wneud hynny yma. Nid ydym yn gwybod enwau pobl, naill ai. ALI: Oh yeah, wel sy'n ei gwneud yn well, felly byddwn yn hyd yn oed yn fwy ddiduedd hytrach na dim ond ar hap dewis rhywun. Peidiwch â phoeni. Ni fyddaf yn gwneud hynny. Os oes gennych bethau ar hap am - byth yn meddwl. Iawn. Sut mae pobl yn ei wneud? SIARADWR 17: Felly dylai seithfed linell argraffu cymeriad? ROB: Ydw. ALI: Yeah. Felly, os ydych yn mynd i lawr - ROB: O na, yn gallu gwneud hynny. ALI: Byddwch yn gweld bod ei argraffu y symbol hash. SIARADWR 17: O, iawn. ROB: Amcana ffordd arall y gallwch chi edrych ar bethau yw ein bod yn argraffu 2 cymeriadau. Un cyntaf rydym yn argraffu yn y llythyr A. Mae'r un nesaf rydym yn argraffu yn unig 65. Bydd yn debyg gweiddi arna i am y rhain. Felly, os ydym yn unig yn rhedeg hyn, byddwch yn sylwi ei fod yn brintiau Mae gwaith yn y ddau. Oherwydd ein bod yn gofyn iddo yr un peth. Rydym yn gofyn i argraffu'r llythyr A. Ac yna rydym yn gofyn iddo i argraffu'r rhif 65 ddehongli fel cymeriad, sef yr un peth. ALI: A oes gennych rywbeth i'w ddweud? O, dim ond ei dwyllo, sori. Mae pob hawl, sut y mae pobl - ROB: allwn gerdded trwyddo. ALI: Iawn, felly sut ydych chi'n dechrau? Dylai unrhyw un? Fel awgrym, mae'n rhaid i ni gael rhywbeth oddi wrth y bobl, o'r typers. SIARADWR 18: [Anghlywadwy] ALI: Oh yeah, prydlon, perffaith. Felly, byddwn yn teipio - beth rydym yn teipio? Dylai unrhyw un? Dylai Neu Fi jyst deipio? A ydym mewn gwirionedd yn teipio 'r - ROB: Cadarn. ALI: Felly byddwn deipio printf i annog, felly gallwn fod yn fel, yn rhoi i mi cymeriad. Iawn, ac yna beth? Pam y mae'n gwneud hynny? ROB: Nid wyf yn gwybod. ALI: Iawn. Felly nawr, rydym yn dweud wrthynt i roi i ni cymeriad. Ond yna sut yr ydych mewn gwirionedd yn cael y cymeriad? SIARADWR 19: GetString Defnyddio. ALI: GetString? GetChar? Iawn, felly beth yw'r gwahaniaeth rhwng llinyn a golosg? SIARADWR 19: Llinynnau yn gyfres, fel amrywiaeth o gymeriadau. ALI: Cool, yeah. Felly, yn y broblem, dim ond angen i ni ystyried un cymeriad ar y tro, felly rydym yn unig yn mynd i wneud GetChar gyfer yr achos hwnnw. ROB: Gallem gweithredu swyddogaeth os oeddem am fod yn cymryd llinyn cyfan ac a aeth dros y llinyn a newid yr holl lythrennau bach i priflythyren a phob priflythyren i lythrennau bach. Ond yma, ni jyst yn gofyn i chi am un cymeriad. ALI: Felly, yn awr mae gennym y cymeriad yma, ond yna mae angen i ni achub. Felly, yna byddwn yn ychwanegu c golosg - beth? SIARADWR 20: Diffinio y newidyn. ALI: Yeah, yn union. Felly, rydym wedi ein cymeriad. ROB: Rwy'n credu y gallech fod - eich bod chi ond tri gofod i mewn, a dyna pam ei fod yn gweiddi ar chi. ALI: Iawn, oer, yn awr ein bod wedi tabbing set, beth sy'n digwydd nesaf? Beth yw'r cam nesaf? ROB: Beth ddylai ein rhaglen ei wneud yw newid llythyr llythrennau bach i priflythyren llythyr. Beth os wyf yn digwydd i fynd i mewn i'r symbol stwnsh? A yw bod - ALI: Mae'n symbol da. Rydym yn ei ddefnyddio llawer. ROB: A yw y gall rhywbeth dilys i drosi i ffurf priflythyren? SIARADWR 21: Rhif ALI: Na Dylem wirio hynny. Felly, gallwn gael os datganiad gwirio hynny os yw'r c yn fwy na neu'n hafal i a'y llythrennau bach '- felly os ydym yn edrych ar y siart, byddwch yn sylwi bod yn rhaid iddi fod rhwng y fan hon, yn 97, a'r a llythrennau bach. A gall fod yn unrhyw un o'r rhain, ac mewn darnau yr holl ffordd i lawr. Ac yna mae z yn 122. Ac mae'n rhaid iddo syrthio rhwng y ddau werth. Ydy hynny'n gwneud synnwyr? ROB: Felly, os nad c yw rhwng 97 a 122 - neu Ni ddylid byth angen i chi ddefnyddio niferoedd hynny - os nad c yw rhwng 'a' a 'Z,' yna nid oedd yn nod dilys i ni priflythyren. ALI: Felly, ar ffurf cod, rydym yn dweud os c yn fwy na neu'n hafal i un llythrennau bach achos - wow, sut wnaethoch chi ddweud hynny? Iawn, yn fwy na neu'n hafal i llythrennau bach 'a', ac mae'n rhaid iddo fod yn uwch na'r 'z.' y llythrennau bach Felly, mae'n rhaid iddo fod yn llai na neu'n hafal i lythrennau bach 'z'. Rydym yn gwneud yn siwr ei fod rhwng y ddau. Yna gallwn barhau ar gyda ein cod yn hapus. Beth? ROB: Felly yr wyf yn cyfrifedig y byddai rydym yn unig yn dal i ofyn, os ydym yn digwydd i beidio cael lythrennau bach llythyr. ALI: O, nid oeddwn yn ymwybodol o hynny. Mae'n ddrwg gennym. Iawn, felly os ydym yn mynd i wneud fel Rob yn dweud, ac yn gwneud yn siŵr bod - gallwn gadw ofyn iddynt, yna beth ddylem ei wneud? SIARADWR 22: [Anghlywadwy] ROB: Yeah. Dylem ddefnyddio rhyw fath o ddolen. Oherwydd y gall y defnyddiwr fynd i mewn rhywbeth annilys swm aruthrol o weithiau. Felly, gallwch ddefnyddio dolen gyfnod. Pwrpas dolen do-tra - llythrennol, yr unig adeg yn eich bywyd cyfan y bydd ydych chi erioed wedi defnyddio ei wneud- tra dolenni yw pan fyddwch yn gofyn am fewnbwn defnyddiwr. Felly, mae'r ffaith ein bod yn gofyn am fewnbwn defnyddiwr yma yw awgrym y dylem ddefnyddio dolen do-gyfnod. A pham hynny? Oherwydd ei wneud-tra dolen bob amser yn digwydd o leiaf unwaith. Felly, pan fyddwch yn gofyn am fewnbwn y defnyddiwr, rydych am i hynny ddigwydd o leiaf unwaith. Ac yna os bydd pethau'n yn llwyddiannus, gallwch gadw i fynd. Os na, ewch yn ôl a gofyn eto. ALI: Felly, mewn geiriau eraill, mae'n rhaid i ni wneud adran. Ac felly mae hyn yn dweud iddo wneud rhywbeth. Felly printf - argraffu'r datganiad, y brydlon, ac i gael y cymeriad, neu geisio cael cymeriad. Ac yna mae'n rhaid i ni wirio os yw'n mewn gwirionedd yn gwneud hynny yn gywir. Felly, yna rydym yn ychwanegu'r amodau, yna rydym yn dweud ychydig, ac yna mae gennym y datganiad amodol. ROB: Ond erbyn hyn rydym wedi gwrthdroi y meddylfryd. Nawr rydym yn wreiddiol yn dweud os c mewn amrediad hwn, ei fod yn ddilys. Nawr rydym am i wrthdroi'r hynny a dweud os nad c yn ystod hon, yna rydym yn angen i gefnogi i wneud pethau eto. ALI: Oh, yeah. ROB: Felly, er nad yw hyn yn wir, rydym yn awyddus i fynd yn ôl a gofyn am cymeriad arall. Ydy pawb yn gweld hynny? Cwestiynau ar hyn? Iawn. Felly, yn awr mae gennym nod dilys y gallwn priflythyren. ALI: Felly, yna beth yw'r cam nesaf ar gyfer uppercasing hyn? SIARADWR 23: Ychwanegu 32. ALI: Gallwch ychwanegu - ddrwg gennym, beth? SIARADWR 23: Methu 'ch jyst yn ychwanegu 32? ROB: Felly ie, o ran niferoedd hud. Dylech ond defnyddio'r un dyfynbris stwff. SIARADWR 23: Iawn, wel - ROB: Ond gallwch gael 32 - ALI: Sut wnaethoch chi gael y rhif 32, mae'n debyg, yw'r hyn yr ydym yn ei ddweud. SIARADWR 23: [Anghlywadwy] ROB: Felly, gallwn ddod o hyd i'r rhif 32 ynghyd - SIARADWR 23: [Anghlywadwy]? ROB: Yeah. Ond os ydym yn mynd i wneud hynny yn y ddau gam a wnaethom o'r blaen gyda y stwff sefyllfa. Felly, y sefyllfa yn y wyddor sydd c digwydd bod yn c minws llythrennau bach 'A'. Felly, os ydym yn mynd i mewn llythrennau bach 'd', sefyllfa yn mynd i fod yn 3. Ac yn awr rydym am fynd â phethau i'r ystod priflythyren o bethau. Felly, yn awr ein c newydd yn mynd i fod yn brifddinas 'A' swydd a mwy. Felly, mae pobl yn gweld sut mae hynny'n dod â ni - rydym yn symud o'r ystod llythrennau bach, y dyfnder yn union yr ydym yn i mewn i hynny amrywiaeth, ac yn mynd i lawr i'r ystod priflythyren, ac yn mynd cyn belled â hynny i mewn iddo eto, sydd yn mynd i fod yr un cymeriad, ond erbyn hyn uppercased. ALI: Ac am y bobl a gafodd eu drysu gan sut y mae newydd ei ddweud 32, yn y bôn oedd cyfuno y ddau o'r rhain mewn un datganiad. Felly, yn ffordd sy'n cyfateb i ysgrifennu hwn i ddweud eich bod yn gallu unig fath o sefyllfa lle, bysell arwydd minws c 'a,' a'i roi yn iawn yma. Felly, yr hyn a wnaeth, yr wyf peidiwch - torgoch newc = priflythyren 'A' plws c minws lythrennau bach 'a'. Ac oherwydd algebra, gallwch chi symud o gwmpas. Gallwch hefyd ddweud eich bod yn gallu symud o gwmpas fel torgoch newc = priflythyren 'A' minws lythrennau bach 'a' plws c. Ac mae hyn, byddwch yn sylwi os ydym yn mynd yn ôl at y siart. Rydym wedi priflythyren A yn 65 oed ac yn llythrennau bach a yw 97. Felly 65-97 yn -32. Hi. Cymerwch sedd. Oh. Gallwch eistedd i'r dde yma. Cool, iawn, awesome. Croeso i adran. Byddwch yn sylwi bod y gwahaniaeth yw 32. Felly, dyna lle cafodd y rhif hwnnw. Ond nid yw, fel y dywed Rob, y ffordd orau o wneud hynny, oherwydd ei fod wedi y rhyfedd dryswch rhif hud. ROB: Dylech ddefnyddio cyfalaf A minws lythrennau bach a. Ni ddylech ddefnyddio dim ond yn syth 32. SIARADWR 24: Pam hynny, unwaith eto? Pam na fyddwch yn defnyddio 32? ALI: Os ydym yn gwneud hynny, byddai'n torgoch newc = -32 + c. Ac os nad ydych yn gweld unrhyw un o'r gweddill ohono, os yw hyn yn mynd i gyd, ac rydych yn ond yn gweld y llinell hon sengl, yna sut ydych chi'n gwybod beth y 32 negyddol yw? 'I' jyst allan o le. ROB: Felly byddai eich rhaglen yn gweithio mewn ffordd hollol iawn. Mae'n dim ond beth arddull. Rhywun yn mynd i mewn a darllen eich cod, maen nhw'n debyg beth mae 32 yn ei olygu? Efallai eu bod yn peidiwch - Mae'n debyg na fyddai yn sylweddoli ar unwaith bod 32 yn digwydd bod yn gwahaniaeth rhwng llythrennau bach llythyr a llythyr priflythyren, er bod rydym yn mynd i ddefnyddio y ffaith yn y broblem nesaf. 32 yw - gallech adael sylw uchod yn dweud 32 yw y gwahaniaeth rhwng 'A' a 'a.' Ond ar y pwynt hwnnw, pam na dim ond defnyddio 'A' a 'a', ac rydych yn nid oes angen y sylw yna. ALI: Dim ond y ffyrdd uchod yn, llawer glanach arddull-doeth. Ac felly, gan eich bod newydd ddechrau rhaglennu - neu os nad wyf yn dyfalu, ers i chi yn EDI haciwr - byth yn meddwl. 'I' jyst yn ffordd da i gael - mae'n well i gael arddull well. Mae'n haws i bobl eraill ei ddarllen. ROB: Ni ddylid byth angen i chi gofio y tabl ASCII, erioed. Dylech dim ond yn gallu defnyddio'r cymeriadau dyfyniad sengl. Cwestiynau? ALI: Mae pawb yn dda? ROB: Iawn. Felly, y broblem nesaf yn sylweddol. Felly, y broblem nesaf yn gofyn i ni - ALI: Y broblem nesaf yn gofyn i ni wneud yr un peth, ond i ddefnyddio gweithredwyr bitwise. ROB: Ac, wrth gwrs, nid ydym wedi gweld gweithredwyr bitwise eto. Felly, byddwn yn awr yn trafod y rheiny. ALI: Byddwch yn gyffrous. Maent yn hwyl super. ROB: Felly y gweithredwyr rheolaidd, fel x plws y, minws, amseroedd, rhaniad. ALI: Teipiwch yn y brydlon. ROB: Mae yna hefyd%, os nad ydych wedi ei weld, y gallwch ei ddefnyddio gan y y cant symbol. Ond ni fyddwn yn defnyddio rhai ar gyfer y broblem hon. Rydym eisiau defnyddio gweithredwyr bitwise. Nawr cofiwch, rydym yn dod i fyny mewn darlith un. Dwi ddim yn siŵr os ydym wedi trafod deuaidd y tu hwnt i hynny. Ond cofiwch fod pob un rhif yn cael ei gynrychioli - yn dda, popeth - yn cael ei gynrychioli mewn 1s a 0au yn deuaidd. Felly mae hynny'n golygu bod pan fyddaf yn dweud y rhif 8, yr wyf yn digwydd gwybod fod hyn yn fel, 1000. Pa gweithredwyr bitwise gadewch i ni ei wneud yw gweithredu ar y darnau - yn cael ei gweithredu ar y darnau yn uniongyrchol. Nawr rwy'n bellach yn delio mewn nhermau o wyth. Rwy'n delio mewn nhermau o 1000, ac yr wyf am wneud pethau gyda'r rhai darnau unigol. Felly, Ali wedi ysgrifennu y gweithredwyr bitwise yma, ond that's - Mae'r rhif 8 byddwn yn eu defnyddio fel un o'n rhifau enghraifft. Ac mae'r gynrychiolaeth binary yn 1000. Byddwn yn defnyddio rhif arall, 5 - mewn gwirionedd gadewch i ni ddefnyddio 9 a 5. A chynrychiolaeth deuaidd y 5 yw 00 - 0101. ALI: A yw pawb yn dda ar hynny? Y pethau deuaidd? Roedd gan y ddarlith gyntaf? ROB: Felly hyd yn oed os nad ydych yn gyfan gwbl ar ben o sut i drawsnewid pethau i'w deuaidd, nid yw hynny'n hollol bwysig am y broblem hon. Byddwn yn ei ddefnyddio, ond byddwch yn cael llawer o gyfleoedd mwy i chyfrif i maes sut i yn gyflym troi i mewn i bethau deuaidd. Felly, gan ddefnyddio 9 a 5, erbyn hyn rydym wedi ein gweithredwyr bitwise. O, a hefyd, 9 a 5, os yw'n cyfanrif, yna mewn gwirionedd mae'n 32 catiau, sy'n golygu bod gennym fel 0, 0, 0, 0 llawer o weithiau, yna 101 ar y diwedd un. Dyna dim ond oherwydd, ni waeth beth ydych yn ei wneud, mewn cyfanrifau, 32 did. Nid yw'r ffaith mai dim ond angen pedwar darnau i gynrychioli 9 yn golygu nad ydym yn defnyddio hyd y 27 arall darnau am ddim ond 0au. ALI: I egluro, un o'r rhifau hyn mae hynny'n 0 neu 1 yn ychydig. Mae hyn yn un yw 4 ddarnau. Fel felly Rob dywedodd bod peiriannau eu storio mewn 32. Felly, yna byddai ganddynt 32 o naill ai 0 neu 1. Cool? ROB: Mae'r gweithredwyr bitwise. Mae'r un cyntaf y byddwn yn delio â, gadewch i ni wneud a. Felly, os ydym yn ei wneud 9 a 5. Felly, beth a ei wneud yw, fesul tipyn, mae'n cymharu â'r darnau o'r ddau rif ac os yw'r ddau o'r niferoedd yn 1, yna bydd yn dychwelyd 1. Os bydd un yn 0 a mae'r llall yn 1, neu ddau yn 0au, yna mae'n dychwelyd 0. Felly, gallwch chi feddwl amdano fel eich rhesymegol a Rhaglenni. Fel ei angen arnoch yn wir ac yn wir i ddychwelyd yn wir, ond yn wir ac yn ffug yn ffug. Felly mae'n yr un peth, ond erbyn hyn rydym yn delio ag ef gyda dim ond darnau. ALI: Felly, os ydych yn edrych ar hyn, bydd gennych 1 - byddwch yn llinell i fyny, felly bydd yn 1 a 0. Ydych chi'n guys meddwl y byddai hynny - beth fyddai hynny'n ei gwerthuso er mwyn? SIARADWR 25: 1. ALI: Cool. Neu ddim. Mae'n ddrwg gennym. Felly, mae hynny'n gwneud synnwyr? Felly beth yw'r ateb ar y cyd unwaith eto? Mae'n ddrwg gennym. Felly, os oes gennym 1 a 0, yna beth fyddwch chi'n ei gael? ROB: Felly rydych yn meddwl am sut y gallwch ddweud ac yn uchel. Os oes gennych ddau darnau, x ac y, mae angen x ac y i fod yn 1 er mwyn iddo i werthuso yn wir - neu, er mwyn i werthuso i 1. Os yw x neu y yn 0, yna mae'n gwerthuso i ffug neu 0. LUCAS: Mae'n dda cofio hefyd bod 1 yn wir a 0 yn ffug. Felly, os oes gennych wir a ffug, mae'n ffug. Ond yna, yn wir yn wir ac, yn wir. Ffug a ffug, ffug. ALI: Mae gennym gwir a ffug. Felly, 1 a 0. Felly, yna eto, ddrwg gennym, un mwy o amser? SIARADWR 25: Byddai'n fod yn 0. Yeah, oer. Ac yna mae gennym 0 & 1 - SIARADWR 25: [Anghlywadwy] ALI: Yeah. Felly, gallwch chi bob amser eu cyfnewid mewn - Yna, os oes gennych 0 a 0? SIARADWR 4: 1? 0? ROB: Felly mae'n 0. Dyw hi ddim yn bod niferoedd rhaid i chi fod yr un fath. Mae'n bod y ddau rhifau mae angen i fod yn 1. ALI: Felly rhaid i'r ddau fod yn wir am ei fod yn wir. Felly dyna 0. Ac yna mae gennych 1% 1, sy'n? ROB: Mae'r rhain yn niferoedd eithaf da. Maent i gyd wedi bosib - ALI: Mae gwaith da, wow. Iawn, oer. Felly, mae hynny'n gwneud synnwyr i bawb? ROB: Felly nawr byddwn yn gwneud |. Ac mae hyn yn mynd i fod yn debyg iawn, ond erbyn hyn yn hytrach na x ac y mae angen i fod yn 1 er mwyn i werthuso i un, yn awr mai dim ond x neu y mae angen i fod yn 1. ALI: Felly 1 | 0 enrhifo i - DOSBARTH: 1. ALI: Cool. 0 | 1 enrhifo i - DOSBARTH: 1. ALI: Cool, ac yna 0 | 0 - DOSBARTH: 0. ALI: Yeah, ac yna 1 | 1 - DOSBARTH: 1. ALI: Cool. Felly dyna fel dwy gweithredwyr bitwise. Awesome. ROB: Felly nawr byddwn yn gwneud ^. ALI: A ddylem wneud pob un ohonynt? ROB: Yeah, oherwydd fy mod yn credu ein bod ni'n mynd i ddefnyddio - defnyddio pob un ohonynt. ALI: Iawn. Felly - ROB: mae'n debyg nad oes angen i ni. ALI: Felly ^ gwaith yn y mae'n rhaid i chi gael yn union yr un gwir ac un ffug. ^ Yn golygu unigryw OR. Felly, yn awr nid yw'n - os yw x ac y ill dau 1, mae'n awr yn ffug. Dyna'r gwahaniaeth rhwng ^ a |, yw bod NEU, gallwch ei gael, os yw x yn wir neu y yn wir, yna ein bod ni'n dda. Na, dweud os ^ x yn wir, mae'n rhaid i fod yn y ffug, neu fel arall nid yw'n wir. Oes gennych chi gwestiwn? SIARADWR 26: [Anghlywadwy] ALI: Yeah. Mae'n fath o debyg. ROB: Yeah, felly pan fyddwch yn cyrraedd y pethau caledwedd lefel isel, mae'r rhain yn y mathau o weithrediadau eich bod yn delio â hwy. Ar y lefel caledwedd, byddwch ond yn delio â darnau. Nid ydych yn ymdrin â rhifau. ALI: Iawn, ar gyfer ^, neu os ydych wedi 1 ^ 0, beth ddylai fod gwerthuso er mwyn? DOSBARTH: 1. ALI: Cool. Os oes gennych 0 ^ 1? DOSBARTH: 1. ALI: Cool. 0 ^ 0? Cool. Ac yna 1 ^ 1? DOSBARTH: 0. ALI: Cool, awesome. Mae'r un nesaf - ROB: Yr wyf yn meddwl y rhain i gyd mae'n rhaid i ni ddelio â nhw. Byddwn ond yn gwneud hyn. ALI: Yr unig adeg y bydd rhaid i ni ei wneud - ROB: O, dyna fydd ar gyfer y broblem olaf. SIARADWR 27: Arhoswch, unwaith eto? ALI: Mae'n ddrwg gennyf, beth oedd eich cwestiwn? SIARADWR 27: A allwch egluro hynny unwaith eto? Y ^? SIARADWR 27: Exclus - yeah. ALI: Felly beth yw'r yn unigryw NEU golygu bod yn rhaid yn gyfan gwbl un ffug yn wir ac un, felly un 1 ac un 0, yn erbyn gyda NEU, gallwch eu cael - un ohonynt i fod yn wir, neu gall y ddau ohonynt fod yn wir, ar ei gyfer i werthuso i gwir. SIARADWR 27: Felly byddai 0 a 0 yn ffug. ALI: Yeah. Ond os ydych wedi 1 | 1, a fyddai'n gwerthuso i gwir. Ond os ydych wedi 1 ^ 1, fel y gwnaethom, sy'n gwerthuso i ANWIR. Oherwydd nad yw'n unig un yn wir. ROB: A gall hyn neu beidio fod yn ddefnyddiol, ond rhybudd fod y ^ yn gyfartal i ddim ond gymryd y | minws y &. A allwch chi mewn gwirionedd yn meddwl amdano fel hyn. ^ Yn unig ORing popeth at ei gilydd ond gan unrhyw un y darnau lle roedd y ddau yn wir. So & dychwelyd popeth lle mae'r ddau yn wir. | Dychwelyd popeth lle mae un neu'r ddau yn wir. Felly tynnu'r bod allan o'r | rhoi i chi y ^. ALI: Unrhyw gwestiynau? Roedd hyn yn llawer o wybodaeth. Mae pawb yn dda? ROB: Gallwn fynd dros y rhai nesaf ar gyfer y broblem nesaf, slaes faint o'r gloch yw hi? Nid oes angen hyn tan y broblem nesaf. ALI: Roeddwn i'n meddwl ei fod yn yr un yma. ROB: Nid yw'n. ALI: Ydych chi'n siwr? ROB: Ydw, dw i'n gadarnhaol. ALI: Pam nad ydym yn dechrau gwneud y broblem nesaf? Y broblem yw, unwaith eto, i newid rhag lythrennau bach i priflythyren, ac mae hyn yn amser i ddefnyddio gweithredwyr bitwise. ROB: Felly, byddwn yn - gadewch i ni ddechrau gyda'r gynrychiolaeth deuaidd o 'A', cyfalaf 'A', sydd yn 65. Felly, yn deuaidd - felly 'A' = 65, = sydd, mewn deuaidd - Dw i'n mynd i llanast i fyny y nifer o 0s - hynny. ALI: Felly, a yw hynny'n gwneud synnwyr i bawb? Felly, 1, dim 2s, dim 4s, dim 8 oed, dim - dim 16 oed, dim 32s, ac yna un 64. ROB: Yeah, yr wyf yn meddwl dyna un 0au yn ormod. ALI: Mae'n ddrwg gennyf. ROB: Iawn, felly mae gennym y set 64, ac mae gennym y set 1, a chyfuno rhai gyda'n gilydd, rydym yn cael 65. ALI: ffa Cool? ROB: Felly yn awr, lythrennau bach 'a'- sylwi ar 97 - beth yw'r gwahaniaeth rhwng 97 a 65 oed? SIARADWR 28: 32. ROB: Yeah. Felly mae'n 32, sydd yn ei rhan ei hun, felly mae hynny'n mynd i fod yn 110,001. Ac mae hyn yn mynd i fod yn wir ar gyfer yr holl gymeriadau posibl. Felly, os ydym yn meddwl am 'D', sydd yn mynd i fod yn 68, mae hynny'n mynd i fod yn 1,000,011. Ac yna llythrennau bach 'd' yn mynd i yn 68 plws 32, sef 100, sy'n mynd i fod yr un peth fod hyn, dim ond flipping y 32 eto, felly 1,100,011. Felly y gwahaniaeth rhwng lythyr priflythyren a llythrennau bach yn unig yw flipping fod 32-bit sefyllfa. SIARADWR 29: Onid yw'n 1,000,100? ROB: Arhoswch, mae'n 100 - rywbeth a wnes i yn anghywir. Nid oedd hyn yn wir. Roeddwn yn meddwl ei fod yn wahaniaeth o 3, felly, yna Fi jyst yn sownd y binary 3 ar y diwedd. Dylai hyn fod yn iawn. ALI: Diolch yn fawr. Da ar gyfer pwyntio hynny. Dyna oedd miniog. Mae pob hawl, yw bod yn glir i bobl? ROB: Y gwahaniaeth rhwng y fersiwn priflythyren a llythrennau bach yn bob amser yn unig yn mynd i fod yn 32, ac felly mae'n bob amser yn mynd i fod ychydig yn un y mae angen ei flipped i newid rhwng y ddau. ALI: Felly yn yr achos hwnnw, gan wybod y gwahaniaeth rhwng y brifddinas A a y llythrennau bach a yn beth da. Nid yn eich cod, ond yn gysyniadol o leiaf, mae'n dda. Felly, gallwch chi guys mynd yn ei flaen a chod bod yn Spaces yn awr. Dylai Neu rydym yn ei drafod yn unig? ROB: Gallwn ei drafod yn unig. Nid wyf yn gwybod. Gallwch roi cynnig ar guys. Siarad ymysg eich hun ar gyfer ychydig. Byddwn yn rhoi cyfle i chi godedig. [INTERPOSING LLEISIAU] ALI: - yn oer SIARADWR 30: Mae hwn yn debyg gomedi haciwr. ALI: Yeah, rydym yn unig yn dweud wrth y newyddion, yn mynd drwyddo. ROB: Ac rydym ni'n ôl. ALI: Dyna fath o 'n annaearol. Rwy'n teimlo fel y dylai fod gennym orsaf newyddion CS50 a gallem mewn gwirionedd yn eistedd fel hyn. ROB: Newyddion Hacker. ALI: 50 Newyddion Hacker. ALI: Teimlwch yn rhydd i ofyn unrhyw gwestiynau os ydych yn ddryslyd. ROB: A oes unrhyw un yn sownd? ALI: Yeah, mae hynny'n beth da. ALI: Arhoswch, a ydych yn sownd yn eich cadair? Oh. Roeddwn ychydig yn bryderus. ROB: Oherwydd Fi jyst sylweddoli ein bod yn mynd i eisiau weithredwr arall bitwise. Am y tro, gadewch i ni dim ond trosi priflythyren i lythrennau bach. ALI: Mae'n ddrwg gennyf, nid oedd pawb yn cael y cyhoeddiad hwnnw? Rydym yn mynd i fynd o priflythyren i lythrennau bach. ROB: Yna, byddwn yn trafod lythrennau bach i priflythyren dde ar ôl hynny. O, na. Mae gennym nam yn hyn, nad oedd erioed, mae'n debyg, rydym yn ceisio rhedeg. Pa un yw dim ond bod torgoch c rhaid ei ddatgan y tu allan i'r ddolen, oherwydd ei gwmpas yn gyfyngedig yn y ddolen. SIARADWR 32: Yn yr achos hwn, mae'n anghywir i ddefnyddio rhif? ROB: Eh, nid oes angen i chi. Os byddaf yn sicr eich bod cyfalaf 'A'- neu, lythrennau bach' a 'cyfalaf minws' A ' yn union o gwbl, ond nad ydych yn gwybod ei fod yn 32 - Byddai pethau'n gweithio yr un mor dda os yw'n oedd y bit 16 sydd yn flipped - neu na, yr wyf yn dyfalu ei fod wouldn't - neu 64 bit flipped oedd, o bosibl. Ond ni ddylai fod angen i ddefnyddio 32. Gallech yn hytrach defnyddiwch lythrennau bach 'A' 'a' cyfalaf minws. SIARADWR 32: Iawn. Beth allwch chi ei wneud os ydych yn teimlo fel eich bod yn ysgrifennu gormod yn y gallwch chi ei ddiffinio ar y brig. Felly gallwch fod yn debyg, int gwahaniaeth = lythrennau bach 'A' 'a' cyfalaf minws. Ac yna gallwch deipio wahaniaeth yn lle hynny. Mae hynny'n ddilys. Ond dim ond yn defnyddio'r rhif 32 yn fath o - SIARADWR 33: Hyd yn oed er 'i' oherwydd y ffaith ei fod yn y 32 bit? ALI: Yeah. ROB: Gallai fod - y warant yn unig yr ydym ei angen i wneud i chi yw bod y gwahaniaeth rhwng y lythrennau bach a priflythyren yn un bit. Ni ddylai fod ots ei fod yn digwydd i fod yn 32 bit sydd wedi flipped. Am ystyriaethau amser, byddwn yn dechrau mynd dros hyn. Mae'n iawn os nad ydych wedi gorffen. Peidiwch â phoeni am y peth. ROB: Gan dybio c yn llythyr cyfalaf - Nid oes raid i ni gymryd yn ganiataol c yn llythyr cyfalaf. Rydym yn gwybod c yn llythyr cyfalaf ar ôl y ddolen tra - gwneud-tra dolen. Felly mae hynny'n golygu ei fod yn edrych rhywbeth fel hyn 'A'. Felly, os ydym am ddod â hyn 'A' i'r 'a', beth sydd angen i ni ei wneud? Felly sut mae troi'r ac yn troi y darn? ALI: Sut rydym yn troi ei? ROB: Felly, rydym yn gwybod ein bod am i chnithia y 32 bit. Felly, a fydd yn gwneud 'a' llai 'A', neu gallem ysgrifennu 32, ond - asio ei, 'i' y ffordd arall o gwmpas. ALI: Iawn felly dyma Rob wedi cyfrifo bod nifer, rhif hud 32. Felly, mae'n darganfod lle y byddai yr ardal ychydig yn troi fod. Ac yna beth ydym yn ei roi lle y marciau cwestiwn yn? ROB: Sut rydym yn troi ychydig yn? O ran y llythyr priflythyren, mae'n 0, ac rydym am fod yn 1. SIARADWR 34: |. ROB: Yeah. Felly, mae hyn yn ein dweud ein gymryd 'A'. Rydym yn ORing gyda 0 - 1000 - a bod = hynny. ALI: A yw hynny'n gwneud synnwyr i bawb? Gallwn fynd drwyddo fesul tipyn os ydych yn dymuno. SIARADWR 35: Ydych chi [Anghlywadwy]? ALI: Ble mae'r arwydd minws? ROB: O, rydych yn ei olygu yma? ALI: Oh, yeah. ROB: Felly yr wyf yn dyfalu mae hyn yn ein. Gallem ddweud 32, ac yn awr rydym yn defnyddio dim ond gweithredwyr bitwise. ALI: Nid ydym yn hoffi rhifau hud. Nid ydym yn mynd i wneud hynny. Hefyd, rwy'n credu y dylem ddefnyddio gweithredwr bitwise - SIARADWR 36: Os ydych yn defnyddio ^ A Bydd, byddwch yn cael 32? SIARADWR 37: Yeah, yr wyf yn meddwl - ROB: Yeah byddwch yn. ALI: Dyma sut y byddech wedi gwneud hynny ar gyfer mynd o gyfalaf i lythrennau bach. Gall unrhyw un Nawr ddweud wrthyf pam y newidiodd Rob a minnau brydlon a sut rydym yn mynd o llythrennau bach priflythyren, yn hytrach na lythrennau bach i priflythyren fel y gwnaethom o'r blaen? A oes unrhyw un gennych unrhyw syniadau pam y gallai fod yn fwy anodd? ROB: Felly byddem yn ei wneud - ALI: Yeah, mynd yn ei flaen. SIARADWR 38: Y | gweithredwr yn unig yn dda iawn ar gyfer ychwanegu. ALI: Yeah, yn union. ROB: Felly, beth yr ydym am ei wneud yn y llythrennau bach i priflythyren achos, trosi hwn yn a''- felly rydym yn awyddus i roi rhai rhifau yma a defnyddio rhai gweithredydd fel ei fod yn dod allan i gyfalaf A. Rydym yn dal yn ôl pob tebyg gan ddefnyddio 32 rywsut, ond erbyn hyn sut rydym yn cael hyn i ddod allan i hyn? Felly c - oh, yr wyf yn dal eisiau bod yn rhy - ALI: Felly, yn awr os ydym yn newid o lythrennau bach i priflythyren eto, yna rydym yn wneud y gweithrediad ^, fel y guys meddai. ROB: Mae yna ffyrdd eraill y gallwch wneud pethau. Mae llawer o'r gweithredwyr bitwise y pen draw yn cael ei diffinio yn hawdd iawn o ran o weithredwyr bitwise eraill. Felly, yr wyf yn mynd i beidio â defnyddio neu ^ o gwbl, ond ^ yn gweithio 'n anhyfreg ddirwya. ALI: Iawn, felly rydym ni'n mynd i fynd ar y broblem olaf, a fydd yn sylfaenol - y broblem olaf yw trosi rhywbeth yn deuaidd. Felly, er enghraifft, mae gennych 50, ac yna ei drosi i binary, sef 110,010. Ac yr wyf yn meddwl eich guys i gyd yn gwybod am deuaidd o ddarlith. Ac nad ydych hefyd yn cael eu i fod i roi unrhyw 0au arwain i mewn iddo. ROB: Gallwch anwybyddu y rhan honno am y tro. Mae'r tocyn cyntaf, gallwch wneud hynny fel bod 0au blaenllaw. Ac yna gallwn addasu, er mwyn cael unrhyw 0au blaenllaw, os oes gennym amser. ALI: Felly peidiwch â phoeni am hynny. Dim ond yn ceisio i fynd i mewn deuaidd. Byddai lle da i ddechrau fod - ROB: Mae angen i ni ofyn am gyfanrif. ALI: Oh yeah, mae hynny'n un da. Gallwn ddechrau â hynny. Felly, gallwch newid yr anogwr. Felly, yn lle gymeriad, yn awr rydym ni'n delio gyda chyfanrifau. Cool? ROB: Ac yn awr beth yw ein do-tra cyflwr yn mynd i fod? Mae'n gofyn am cyfanrif heb fod yn negyddol. ALI: Pryd ydym ni eisiau cadw annog y defnyddiwr ar gyfer rhywbeth arall? Pan fydd llai na 0. ALI: Iawn. ROB: Er i yn llai na 0. ALI: Nawr rydym am i drosi. Ydych chi'n guys gennych unrhyw syniadau am beth i'w wneud? Unrhyw inklings? Yeah. SIARADWR 39: A oes rhaid i drosi, neu gallwn dim ond argraffu rhai 0s a 1s hynny fyddai'r nifer cywir? Allech chi wneud gyfer dolen a chyfrif gan pwerau 2? ROB: Ydw. Nid oes angen i chi newid i ei deuaidd - Ni fydd y gynrychiolaeth o deuaidd i ffitio tu mewn i. 'Ch jyst angen i chi argraffu'r gynrychiolaeth deuaidd o i. ALI: Mewn geiriau eraill, nid oes angen i chi fynd â phwerau o ddau. ROB: Oherwydd i eisoes yn cael ei storio fel binaries, felly nid oes angen i chi drosi i deuaidd. Dim ond yn mynd dros ei deuaidd, a'i argraffu. A ydych chi'n mynd i angen i ddefnyddio bitwise, oherwydd eich bod am i edrych ar y darnau gwirioneddol. Nid oes angen i chi ddefnyddio bitwise, ond cofiwch wneud hynny. A dyna mewn gwirionedd - dim ond y gallwch ei wneud pwerau o ddau drwy luosi â 2. Byddwn yn mynd dros un o'r ddau olaf gweithredwyr deuaidd bitwise, sydd yn yr un yma. Felly, pan fyddwch yn cymryd - ALI: Allwch chi fynd drwy ddau ohonynt? ROB: Yeah. Felly, gadewch i ni fynd gyda 9. Hynny 9 newid y chwith 1 - hyn a adawyd golygu shift yn unig yw symud yr holl ddarnau ar y chwith ac yn mewnosod 0. Felly, rydym yn symud yr holl ddarnau o 9 i un sydd ar ôl sefyllfa, sy'n rhoi i ni - Felly sylwi ein bod wedi symud popeth ar ôl un, ac mae wedi mewnosod 0 ar y ochr dde. Os ydym wedi symud a adawyd gan ddwy, byddem yn symud popeth a adawyd gan ddwy, ac yn cynnwys dau 0s i lenwi'r bylchau. Cwestiwn? ALI: Felly, yna newid i'r dde yn gwneud rhywbeth tebyg. Os oes gennych chi 9 sifft iawn 1, yna ydych yn unig yn symud popeth drosodd i y dde, byddwch yn colli digid, felly 100 yn lle hynny. ROB: Felly rydych mae'n iawn eich bod yn colli'r darn sy'n digwydd i fod yn holl y ffordd ar y dde. Mae yna wahanol fathau o shifftiau iawn, ond yn y bôn y gallwch chi feddwl am i'r dde symud fel dim ond rannu â 2. A allwch chi feddwl am newid chwith wrth luosi â 2. Felly, os ydych trosi hyn - os ydych yn trosi 9 sifft 1, sy'n cyfateb i 10,010, os ydych mewn gwirionedd yn mynd drwy'r deuaidd a cyfrifedig gwybod beth oedd, byddai dim ond yn 18. Rydym yn unig yn lluosi gyda 2. 1001 newid y chwith, 2 yn mynd i fod yn 36. Rydym yn lluosi â 4. Iawn, oer, felly dyna gweithredwr bitwise law ar gyfer yr un yma. Mwy o ddryswch? Ydych chi guys am i roi cynnig arni? Neu gallwn jyst neidio i'r dde i mewn a dechrau ei? ROB: Mae'n debyg y dylem neidio i'r dde i mewn ALI: Yeah, Iawn. ROB: A rhodiwch trwy'r ei gilydd. ALI: Wel 'n annhymerus' jyst yn mynd i mewn iddo. Felly, fel y dywedodd yn y dechrau, rydym yn mynd i jyst yn mynd trwy bob yn dipyn. Felly, rydym yn mynd i angen dolen. Oes gan unrhyw un syniad o'r math gorau o ddolen i fynd drwy hyn? Mae gennym ddolenni tra, yn ei wneud-tra dolenni, ar gyfer dolenni. SIARADWR 40: Do-tra dolen? ROB: Felly cofiwch yr hyn a ddywedais o'r blaen am, rydym yn defnyddio dim ond ei wneud-tra dolenni i gael mewnbwn defnyddwyr. Ni fyddwch byth yn 'n bert lawer byth yn eu defnyddio ar gyfer unrhyw beth arall. ALI: Y broblem gyda ei wneud-tra dolenni a yw'n gwneud rhywbeth cyn iddo wirio am y cyflwr. Felly, gallai wneud rhywbeth drwg - hoffi, brifo - wneud rhywbeth nad yw hynny'n bosibl. Felly rydych chi am wirio yn gyntaf. ROB: Mae llawer o achosion lle y gallwch ddefnyddio ei wneud-tra dolenni, ond mae pobl peidiwch â disgwyl i chi eu defnyddio oni bai ei fod mewnbwn defnyddwyr. Felly, rydym wedi defnyddio ein do-tra ddolen i gael i. Sawl gwaith mae ein dolen mynd i am ddolen? Rydym yn awyddus i ddolen dros bob un o'r darnau o i. Faint o ddarnau mewn i? SIARADWR 41: 32. ALI: Yeah. ROB: Felly mae 32 o ddarnau. Nid ydym am i ddweud 32. Rydym yn lle hynny am ei ddweud sizeof - sydd, ydych chi wedi gweld hynny yn y dosbarth eto? ALI: Na. ROB: Pam ei fod yn dweud i ddefnyddio hynny - sizeof (canolradd) gwaith 8 - ALI: Felly, sizeof yw - SIARADWR 42: [Anghlywadwy] ALI: diddorol. Felly, sizeof yn swyddogaeth C adeiledig mewn lle 'i jyst yn dweud wrthych am y nifer o ddarnau i mewn - ROB: Bytes. ALI: Bytes, sori - y nifer o bytes y newidyn yn cadw gwerth. Felly, yr wyf yn meddwl ei fod aeth drosodd yn y dosbarth, yna, yn int yw 4 bytes efallai. Cool? ROB: Ond ni ddylai fod angen i chi wybod bod int yw 4 bytes. Dylech fod yn gallu dweud - dylech ddefnyddio sizeof (int) i gael 4 bytes. A dyna mewn gwirionedd yn bwysig i rai pethau. Efallai na fydd yn int fod yn 4 bytes. Ar gyfrifiadur arall, gallai fod yn 8 int bytes. Felly, ni fydd eich rhaglen yn gweithio ar y cyfrifiadur oherwydd eich bod hard-coded 32 darnau pan fyddant ar y cyfrifiadur hwnnw yn digwydd i fod yn 64 did. ALI: Felly, rydych yn cael y nifer cyfanswm o ddarnau eich bod am iddo i wrthdroi'r. ROB: A'r gwahaniaeth rhwng beit ac ychydig yw bod yn 8 did mewn beit. Felly sizeof (int) yn dychwelyd 4 bytes, yna mae'n rhaid i luosogi y o 8 i gael 32 catiau. ALI: Iawn, felly rydym yn gwybod y mwyaf ac rydym yn gwybod ein bod am fynd o'r - rydym am i fynd drwy bob un ohonynt. Felly, rydym am i fynd o 0 i numBits. Felly, mae unrhyw un yn gwybod sut i ysgrifennu y ddolen am hynny? Dylai unrhyw un? SIARADWR 43: [Anghlywadwy] ALI: Felly rydych chi am i groesi'r rhif i oddi wrth y darn 0 i peth cyntaf, yr ail ran, y rhan trydydd, yr holl ffordd i numBits. Y nifer uchafswm o ddarnau y gallwch ei gael iddo. ROB: Beth yw'r ddolen gyffredin rydym yn defnyddio'r hyn yr ydym am ei wneud amserau x rhywbeth? ALI: Ar gyfer. Perfect. Felly mae gennym amdano. Ac yna byddwn yn creu iterator, nad yw'n mynd i fod yn i. ROB: j. ALI: J = 0. Felly, byddwn yn dechrau ar 0. Ac yna rydym yn mynd i gael yr amod i wneud yn siŵr, tra byddwch chi mynd drwyddo bob tro - [INTERPOSING LLEISIAU] ROB: j. ALI: j yn llai na numBits. Felly, nid ydym am wneud gwirioneddol yn cyfateb i un, am eu bod yn numBits cyfanswm, ac rydym yn dechrau ar 0. Felly, rydym yn wir yn mynd i gael - SIARADWR 44: Oh. ALI: Nid yw'r mynegeion ddim yn dod i ben ar numBits minws 1. ROB: Rydym yn labelu'r darnau 0-31, nid ydym yn eu labelu 1-32. ALI: Ac yna rydym yn mynd i gynnydd bob tro gan un, oherwydd ein bod eisiau gwirio bob un. Felly, byddwn yn mynd j + +. SIARADWR 45: Pam ydych chi'n gwneud hynny? SIARADWR 46: Pam ydych chi'n mynd drwy bob rhan? ROB: Felly rydym am i fynd drwy bob darn a - Felly, gadewch i ni ddweud ein bod wedi rhywfaint o rhif. ALI: 68. ROB: gall Rydym yn defnyddio 68. Felly, y binary yn mynd i fod yn 100,100. Felly mae hyn yn tu mewn i ac rydym am fynd dros pob un o'r darnau. A yw'n 1? Argraffu 1. A yw'n 0? Argraffu 0. Yna rydym yn mynd ymlaen i'r rhan nesaf. A yw'n 1? Argraffu 1. A yw 0? Argraffu 0. ALI: Cool, iawn. Nawr ein bod ni'n ar y mynegai cywir ar gyfer lle y bit yn. Sut rydym yn sicrhau bod un penodol? Lets 'ddeud ein bod ni'n ar j = 0, felly rydym yn awyddus i wirio'r mynegai 0 o'r bit. Felly, yn yr achos hwn, mae hyn yn un. Felly nawr sut rydym yn mynd ati i wirio - oh, byddai'n hwn. ROB: Yeah. ALI: Mae'n ddrwg gennyf. Sut y byddem yn mynd ati i wirio bod un, mewn synnwyr? Sut fydden ni'n gwirio os yw'n 0 neu 1? Wel let's - DOSBARTH: Ac 1? ALI: Ac? Yeah. ROB: Felly, gadewch i ni ddweud ein bod eisoes 1. Yna y &, bydd hyn yn dychwelyd a oedd yn 1 neu 0. ALI: Felly gallwn fynd i lawr. A gallwn ei wneud wrth i chi guys meddai, wrth wneud y & swyddogaeth. ROB: int - sut ydw i eisiau dweud hyn - isone = i. Ac ar gyfer y darn cyntaf rydym yn digwydd i fod yn edrych ar, rydym yn ei wneud i & 1. Nawr beth ydym yn mynd i eisiau i & gan ar gyfer yr ail ran? SIARADWR 47: 2. ROB: Yeah, yr ail ein bod ar 2. ALI: Byddwch yn sylwi bod y 1 wedi symud drosodd i'r un sydd ar ôl. Felly ydym wedi ei ddysgu unrhyw weithredwyr bitwise i wneud y swyddogaeth honno? ROB: Mae'r un nesaf - ALI: Yeah, ar y dde, yn union. Felly, mae'n newid y chwith. Yn hytrach na bob amser yn gwirio gyda 1, rydym yn mynd i newid hynny. A faint o weithiau yr ydym yn mynd i newid hyn? Os ydym yn edrych ar yr un 0, yna rydym yn mynd i symud dros sero. Yeah, yn union. Felly, i chi adael symud iddo gan j. Perfect. Felly, nawr rydym yn gwybod - gennym y int o os yw'n 1, ac yna - felly Rob fath o dwyllo yma - ac felly, yn awr ei fod yn mynd ymlaen ac mae wedi dim ond dweud os mai mewn gwirionedd yw 1, oherwydd 1 gwerthuso i gwir, felly nid oes rhaid i ni ddweud ISF isone yn gyfwerth ag 1 - felly os isone, yna rydym yn argraffu 1, ac fel arall, rydym argraffu 0. ROB: Felly mae ein rhaglen yn bug cyffredinol. Wel, cwestiynau ar hyn yn gyntaf. SIARADWR 48: Allwch chi erioed wedi rhoi y isone y tu mewn i'r pedwar rhan weithredu a hynny wedi ei symud ei hun fel y rhan olaf? Felly isone yn gyfwerth ag 1 ac yna - ROB: Ydw, y gallwch. Gallwn mewn gwirionedd yn dangos bod unwaith y byddwn datrys y byg fy mod ar fin trafod gyda chi i gyd. Sylwch ar y drefn rydym yn mynd dros bethau. O ystyried y gynrychiolaeth deuaidd, rydym yn dechrau gyda'r rhan 0. Os yw'n 0, yna rydym yn argraffu - yn dda, mae'n 0, felly rydym yn argraffu 0. Yna rydym yn mynd i'r ail ran. Mae'n 0, felly rydym yn argraffu 0. Yna rydym yn mynd i'r ychydig trydydd. Mae'n 1, felly rydym yn argraffu 1. ALI: Felly, mae'n mynd yn ôl. Felly, sut ydych chi'n guys yn awgrymu ein bod yn atgyweiria bod ac yn mynd y ffordd arall? SIARADWR 49: [Anghlywadwy] ROB: Yeah. Felly, yn hytrach na mynd o 0 i numBits, byddwn yn mynd o ddarnau numBits i 0. ALI: Felly [Anghlywadwy] Gall bob amser yn mynd y ffordd arall. ROB: NumBits minws 1, oherwydd dyna'r nubmer diwethaf - ALI: Gan ei fod yn mynd o 0 i 31. Ac yna byddwn bob amser yn gwneud yn siwr ei fod yn fwy na 0 fel nad ydych yn mynd yn rhy bell i'r dde. Ac yna byddwch bob amser yn tynnu gan 1 i fynd i'r dde. ROB: Felly, yn awr mae gennym dolen cefn, ac mae'r nifer yn ôl i argraffu yn y ffordd gywir. SIARADWR 50: Peidiwch â ydych yn rhaid i chi newid y peth newid hefyd? ALI: Felly dim. ROB: Rydym yn gwneud yr un gwaith yn union, ac eithrio nawr yn y drefn gwrthwyneb. Felly yn hytrach na gwneud y symud gan numBits minws 1 i gael beth bynnag y bit yw, yn lle gwneud hynny olaf, byddwn yn unig yn ei wneud yn gyntaf. Drwy wrthdroi hyn i fyny yma, rydym yn newid y drefn bopeth sy'n digwydd y tu mewn. Ond nid ydym am i newid yr hyn sy'n digwydd y tu mewn o gwbl. ALI: A yw hynny'n gwneud synnwyr? Prosesu? Iawn, felly a oes unrhyw un arall gennych unrhyw gwestiynau eraill cysyniadol? ALI: Cyn i ni fynd i mewn ei bwynt sydd - ALI: pob hawl, yn dda yn mynd. ROB: Yn hytrach na defnyddio j i fod yn - yn hytrach na defnyddio j i bob amser yn symud yn ôl, fel un j shifft chwith, yr wyf yn meddwl beth rydych yn ei ddweud yn cael ei hoffi, i j defnyddio ei hun. Felly, ar gyfer j - Amcana hyn yn anodd - j = 1 << 31. Yw bod yr hyn yr wyf eisiau? Rwy'n credu ei fod << 31. j> = 1. j >>, >> isone, i & j - felly, yn awr yn hytrach na defnyddio - ALI: Rydych yn gyson yn symud j yn hytrach na gweld mynegai i wirio. Dyw hi ddim mor wael â hynny. Rydym yn defnyddio math tebyg o rhesymeg. Felly, os ydych yn mynd yn ôl - oh, ond mae'n mynd i golli. Iawn, ydych ond yn mynd i deipio eto. Os byddwch yn sylwi bod rydym wedi 1 swm j << o weithiau, ac roeddem yn incrementing j bob tro gan un cynyddiad, ond y tro hwn yn hytrach na eu bod yn gwneud y cynnydd y j ar y brig ar gyfer y tu mewn i'r ddolen. Felly, yn lle bob amser yn symud i lawr - ROB: y fersiwn cyntaf y ddolen i, mae gennym j yn 10,000. Mae'r fersiwn nesaf y ddolen i yw 01,000. Mae'r fersiwn nesaf yw hynny. Ac 1 yn unig yn mynd i gadw lluosogi i lawr nes i ni gyrraedd iawn diwedd, lle erbyn hyn mae'n hyn. Mae'r un nesaf, y 1 yn mynd i gael ei gwthio i ffwrdd, ac j yw bellach yn fwy na neu'n hafal i 1. Gallwn hefyd roi mwy na 0, un gwahaniaeth. Ac yna dyna ni. Cwestiynau? Yeah. SIARADWR 51: [Anghlywadwy] ROB: Felly dyna yr un fath â - ydych chi wedi gweld j + = 3? Felly, mae hyn yr un fath ag j = j + 3? Gallwch wneud hynny ar gyfer bron unrhyw weithredwr yn C. Felly j >> = 3 yn cyfartal i j = j >> 3. Felly sy'n gweithio hefyd gyda gweithredwyr bitwise. Ac ni ddylwn i fod wedi rhoi 31 yma. Dylwn i fod wedi rhoi numBits - 1. ALI: Yay, dim rhifau hud. Iawn, mae'n 4:00 fodd bynnag, felly os ydych yn guys rhaid i chi fynd - ond mae hyn yn gwneud synnwyr? Ydych chi'n guys gennych unrhyw gwestiynau eraill? ROB: Yr oeddwn hefyd yn mynd i taflu yn hynny os ydym am ei gael - wedi iddo drafod gweithredwr teiran o gwbl? ALI: Na Mae'n iawn. ROB: Felly, gallech edrych i mewn iddo ar gyfer y tro nesaf. ALI: Iawn, mewn gwirionedd? Nawr eich bod yn unig yn dangos i ffwrdd. ROB: Na, yn awr it's - mae hyn yn beth sy'n cael pobl sydd â diddordeb, ac yn awr fe fyddan nhw'n mynd yn edrych i mewn iddo. Felly nawr, sy'n gwneud yr un peth, mewn un cam. Felly, yn gyntaf wirio, yn i & j 1? A yw'n wir? Os felly, argraffu 1, arall, argraffu 0. ALI: Ond yn ei wneud yn y ffordd arall yn berffaith iawn yn ogystal. Mae ganddo yr un rhesymeg. Felly, nid yw'n debyg un yn - ROB: Ar y pwynt hwn, gallwn gael gwared o'r rhai a braces cyrliog, oherwydd mai dim ond un-lein ar gyfer dolen. ALI: Iawn, felly mae hynny'n gwneud synnwyr? Dyna oedd fath o naid. Ond roedd yn unig fath o gystrawen, yn fwy felly. Cool? Unrhyw gwestiynau eraill? ROB: pob hawl. ALI: pob hawl, oer. Diolch am ddod i'r adran.