[Powered by Google Translate] [Elektroniskais STATISKIE SOUNDS]
ROB: Labi, lai to, ko mēs tikko cēla jums ir CS50 telpas.
ALI: Paga, paga atpakaļ uz augšu.
Laipni lūdzam sadaļā!
ROB: Laipni lūdzam sadaļu!
ALI: Lieliski!
ROB: Supersection!
ALI: Es esmu Ali un tas ir Rob.
Labi, tagad mēs paskaidrosim Spaces.
ROB: Tātad, ko mēs tikai cēla jums ir CS50 telpas.
Jums tiks izmantojot šo daudz jūsu sadaļās šajā semestrī.
Būtībā, mēs esam jau bija lejupielādēt ierīci.
Un jūs varat iedomāties CS50 telpām kā tīmekļa saskarni runā uz ierīcēm
ka mums ir par dažiem servera kaut kur.
Tātad jūs varat palaist savu kodu šo interfeisu, un mēs
redzētu, kā darīt lietas.
Jūs varat arī apskatīt kodu citu cilvēku sadaļā, un -
ALI: Un kā daži cilvēki ir noskaidrojuši, jūs varat tērzēt cilvēkus uz pusi.
Un mēs visi to redzam, pārāk, tāpēc tas ir aizraujoši.
Nāc, nāc un sēdēt.
Veikt vietu.
>> ROB: Tātad, sekcijas ir -
ALI: Nē, nē, jūs guys var nākt.
ROB: Profili ir būs daudz vairāk interaktīvs šajā semestrī.
ALI: Ak, viņš ir kā -
Oh.
Labi, atdzesē.
Tātad, ja jūs guys ir tikai nāk, jūs varat iet uz šo saiti, ja es varētu saņemt
tur, tieši tur.
Mēs nevaram īsti rakstīt, jo nav borta telpa, bet šī saikne
tieši šeit, dodieties uz, ka jūsu datoru, un jūs ierakstīsiet CS50
Telpām, kas ir diezgan atdzist lieta.
Labi.
Vai jums ir problēma?
ROB: Tātad jūs varat atrast problēmas -
Mums ir jāspēj uzrakstīt šo kaut kur.
Tātad, ja jums iet uz cs50.net/psets un tas ir hakeris supersection -
un doties uz Hacker Edition viena PSET, apskatīt specifikācijas
kaut kur uz leju lapā -
>> ALI: Tātad būtībā, bet Robs tikmēr s meklē, ko mēs gatavojamies darīt
sadaļa šodien ir tur ir par problēmām sadaļa -
ROB: - uz astoņiem lapā.
ALI: - saukta daļa problēmu -
ROB: sekcija jautājumiem.
ALI: Atvainojiet, sadaļā jautājumiem.
Un tie ir tas, ko mēs gatavojamies iet pa -
tie ir tas, ko mēs gatavojamies iet pa šodien sadaļā.
Un mēs ejam, lai kodētu to CS50 telpu, un cerams, ka būs darbs.
Un mēs varam tikai runāt caur tiem.
Un jūs guys var uzdot jautājumus, kad jūs jūtaties -
>> ROB: Tātad tas kļūst par kopīgu lieta ar lielāko psets.
Es domāju, ka ar šo vienu, tā saka jums nav jāatdod šiem jautājumiem collas
Bet ideja ir tāda, ka šie jautājumi ir likts uz PSET, un jūs varat nākt
lai sadaļa, lai šos jautājumus atbildēja.
Vai, ja jums nav pienācis sadaļā jūs varat atbildēt uz tiem par savu vai saņemt
palīdzība pie darbalaika vai kaut ko.
Bet tie ir jautājumi, kas ir paredzēts, lai PREP jums par problēmu kopumu.
Un uz hakeru izdevumā, par daudz jautājumu var tikai apmēram
paplašinot savu pašreizējo CS zināšanas.
ALI: Yep, diezgan daudz.
>> Labi, tā ir visi par CS50 telpām?
Sveiki, nāk iekšā
SPEAKER 1: Vai mēs varam redzēt URL vēl vienu reizi?
Rob: Jā, tas būs vieglāk, kad jums ir faktiski jūsu sadaļās, un
Jūsu TF iespējams tikai e-pastu jums URL iepriekš.
ALI: Yay, veikt vietu.
Ir vietas šeit.
Priekšējais nav tik slikti.
Kas?
Tātad, CS50 Spaces, mēs esam iegūt tur.
Vai kāds ir kādi jautājumi, pirms mēs nokļūt - ko?
ROB: Tur pat ne krīts.
[Dzirdams]
ALI: Atvainojiet.
Jūs varētu izmantot jūsu nagiem?
Mēs esam ļoti zemu tehnoloģiju telpā ļoti augsto tehnoloģiju klases.
Labi, ir ikviens veida labas?
Vai kāds vēl jautājumi par to?
Kā es teicu, mēs esam gatavojas iet cauri sadaļā jautājumus,
uz PSET specifikācijas.
Tātad tur ir tikai problēmas, pāris, ka mēs ejam uz
kodētu up CS50 Spaces.
Vai ikviens labs?
Labi.
Labi?
ROB: Vai jums ir klēpjdators?
ALI: Jūs varat žaut ar Lucas.
Viņš sēž blakus jums.
Savienošanas laiku.
>> ROB: Tātad, sākt ar pirmo problēmu?
ALI: Jā.
Mēs varam sākt.
Vai tu gribi -
Es varu iet.
Tātad, mēs iesim uz PSET specs.
Ak, kāpēc tas ir -
ROB: kontrole.
ALI: Labi, tāpēc mēs ejam uz atbildi šīs lietas, kā arī?
ROB: Ak, jā.
Tātad -
ALI: Ak, did Ikvienam pulksteņu Robs ir starring šorti?
Labi, atdzesē.
ROB: Jā, es nedomāju, ka mēs vienmēr gaidīts jums ir
noskatījos to pirms došanās uz šo sadaļu, bet mēs varam apspriest tos
problēmas iepriekš, jo tie ir saskaņā ar sadaļā jautājumus lietas.
Tātad, ja jums nav noskatījos to, nav jāuztraucas.
Tie, kas ir, var mēģināt atbildēt.
>> Tātad, pirmais jautājums, kas ir iepriekš procesors, kā tas # ietvert
attiekties?
Tātad vai kāds ir jāatbild par šo?
ALI: jūs puiši var runāt to ārā.
Protams, iet uz priekšu.
2 Skaļruņi: # ietvert ir daži iepriekš rakstiski kodu, un tā vietā
kopējot un ielīmējot to savā programmā, ko vienkārši sakot ietver to,
iepriekš procesors zina, ka tas ir tur un ka tas būtu pievienot to
vēlāk vai pirms kaut kas cits notiek.
ALI: Jā, laba.
Atdzist.
ROB: Tātad, ja jūs patiešām sastādīšanas programmu, iepriekš procesors tas ir
pirmais solis.
Apkopošana notiek četrās lielās soļiem.
Tā iepriekš procesors ir pirmais lielais viens, un tas ir tas puisis, kas iet
cauri un meklē visu šo hash simboliem.
Un jebkura līnija, kas sākas ar hash, iepriekš procesors skatās uz to un redz
ja tā var apstrādāt.
Tātad # ietvert stāsta iepriekš procesors meklēt kādu cs50.h
failu un vienkārši nokopēt un ielīmēt tās saturu šajā failā.
Tātad jūs varat patiešām # ietvert kaut ko vēlaties, bet tas lielākoties būs
. H failus.
Mēs neesam gotten # definēt vēl, tāpēc tas nav svarīgi.
ALI: Jā, mēs esam labi par šo vienu.
Vai kāds ir kādi jautājumi par šo?
Vai mēs labi?
Nākamais jautājums.
>> 3 SPEAKER: Jo sakot, tur bija kaut kas par c, kā arī.?
Ir tā, ka būtiski vai tas ir būtiski?
ROB: Par C ar iepriekš procesors.?
SPEAKER 3: Jā, vai tomēr man darīt kaut up?
ROB: Tātad īss varētu būt guvusi iepriekšēju pārstrādi šo failu un
. outputting to citam C failu, lai jūs varat iepriekš apstrādāt šo failu -
kad jūs vienkārši palaist, piemēram, veikt sveiki vai šķindoņa hello.c, jūs darāt visu
apkopojums vienā lielā soli.
Bet jūs varat skaidri darīt savos atsevišķos posmos.
Tātad vispirms jūs varat iepriekš apstrādāt.
Tad jūs varat sastādīt, tad jūs varat salikt, un tad jūs varat saistīt.
Mēs nokļūt šiem citiem uzņēmumiem.
Bet pirmapstrāde, jūs veida iepriekšējas procesam, un tad tas nonāk
cits c failu..
Jo pirmapstrāde nav īsti neko mainīt.
Tas ir tikai ķekars kopēt un ielīmēt.
Jūs varētu manuāli nokopēt un ielīmēt to pats.
ALI. Un ir skaidrs, c fails ir C failu, tāpēc tas ir
rakstīts C kodu.
Tātad tas notiek no C koda C kodu.
Tu esi tikai pievienojot kodu ar mārciņu.
Rob: Kad jūs iepriekš apstrādā to, tas joprojām ir spēkā C fails.
SPEAKER 3: Labi.
ALI: Labs jautājums.
Man patīk, ka.
Labi, nākamais jautājums.
>> Kas kompilators?
Ikviens?
Jā.
SPEAKER 4: Tas maina iepriekš apstrādātās kodu montāža.
ALI: Perfect.
ROB: Jā.
ALI: Cool.
ROB: Tātad, tas ko kompilators dara speciāli
kad mēs esam izmantojot šķindēt.
Jo ļoti vispārējā nozīmē, kompilators ir tāpat kā, ņemot kodu vienā valodā
un to pārveidot citā valodā.
Tātad C -
vai, labi, šķindēt lieto kodu, kas ir C un pārveidojot to montāžu.
Un jums nav, lai varētu saprast montāžu vispār.
Bet tas ir valoda, ka tas ir pagrieziena to.
>> ALI: Labi.
Un tad, kas ir montētājs?
Ikviens?
SPEAKER 5: [dzirdams] uz bināro?
ALI: Atvainojiet, ko?
SPEAKER 5: [dzirdams] uz bināro?
ROB: Yep.
ALI: Jā.
ROB: Tātad montētājs -
montāža kods ir ļoti, ļoti tuvu tam, ko jūsu dators var saprast,
bet atcerieties, ka tas nav gluži saprast tekstu
kas ir montāža kods.
Jums ir nepieciešams, lai pārvērstu to taisni 1s un 0s.
Tas ir tāpat kā tieša tulkošanas procesā.
Mēs varētu tikai jums tabulu, kartes, ko katrs
montāžas instrukciju nozīmē.
Bet montētājs ir tikai darot šo tulkojumu jums.
Tas pārveidojot montāžas kodu 1s un 0s.
>> ALI: Un tad, lai pēdējais, kas ir Linker?
Un kā-lcs50 attiecas?
Ikviens?
ROB: Tas ir visgrūtākais un vismazāk paskaidroja vienu no kompilatora video.
ALI: Vai kāds atcerēties redzēt-lcs50 ar komandu?
SPEAKER 6: Kad jūs devās uz veikt.
ALI: Tas ir padarīt.
Jā, forši, labi.
Vai ir kādi minējumi vai neskaidri - jā, iet.
SPEAKER 7: Es neesmu pārliecināts, jo jūsu īsu bija tiešām [dzirdams], bet tas bija
kaut kas par darot atsevišķus failus ar katru bibliotēku un pēc tam liekot
tos visus kopā vienā bibliotēkā?
ROB: Jā.
Tātad, ja jums ir hello.c, tas tiešām vienkārša programma.
Tu esi patiešām tikai dara viena lieta tajā.
Bet, kad jūs nokļūt citās programmās -
un es domāju, pat ja jūs GetString savās programmās, jums ir nepieciešams, lai sāktu
ieskaitot citus failus.
Tātad CS50 bibliotēka ir viens no šādiem failu, kurā mums ir implementācijas
gada GetString un GetInt un visas šīs lietas.
Tātad, ko linker tas ir tas iet apkārt meklē caur visiem šiem
failus, redzot, kur funkcijas ir definētas, pārliecinoties, ka tad, kad es aicinu
GetString kaut kur, tas zina, ka GetString nozīmē, ka tā ir
GetString apvērsumu CS50 bibliotēkā.
Tāpēc linker tikai ņem visus šos failus, apgāž tos kopā, un tagad
Jums ir izpildāmā.
Tāpēc paturiet prātā, ja jūs izmantojat CS50 bibliotēku, jums abiem
# Ietvert augšā, un pēc tam arī savā marku komandu, kā jūs
teica, jums ir jābūt-lcs50.
Tātad, jūs varat ne tikai ir viens.
Tātad tas ir tikai kaut kas jāpatur prātā, lai nākotnē.
>> SPEAKER 8: Tātad, pieņemsim, ka ir kāds cits bibliotēkas, tāpat cs51.h, būtu mēs
ir arī pievienot-lcs51?
ROB: Vienīgais iemesls šīs-lcs50 strādā perfekti ir tāpēc mums ir, ka komplekts
līdz konkrētā vietā jūsu ierīcēm, lai tā zina, ko
-Lcs50 līdzekļiem.
Mēs varētu tikai jums cs50.c failu, un tad jūs varētu sastādīt to, sakot
Šķindēt hello.c cs50.c, un tad tas būtu jūsu izpildāmā, liekot
šie divi faili kopā.
Tā zina, ka-lcs50 nozīmē cs50.c nekā dažās direktorijā, ka mēs norādīta
Jūsu ierīces.
Tātad, ja jūs vēlaties cs51.c būt nosakāmas, tikai sakot-lcs51,
tad mēs varētu arī nepieciešams, lai to šajā direktorijā, lai tā zina, kur
meklēt to.
ALI: Kāds bija jūsu jautājums?
>> SPEAKER 7 Kāpēc jums ir saistīt CS50
ja - wasn't tas copy / ielīmēt pirmajā posmā, kad jūs iepriekš apstrādātu to?
ALI: Vai jūs vēlaties, lai to?
ROB: Protams.
Tāpēc cs50.h fails ir atdalīta no cs50.c C failā.
Vai esat gotten darboties prototipu klasē?
Labi.
Tātad būtībā, cs50.h fails ir tikai gatavojas kopēt un ielīmēt -
ALI: Vai jūs guys zināt, ko paraksti ir?
Labi, tāpēc diezgan daudz, ja paskatās -
ROB: Izliecies cs50.h tur nav.
Tagad šo failu -
jūs darāt String s = GetString.
Bet, kad mēs esam gotten uz šo punktu kodu, tas ir ne jausmas, ko
GetString ir.
Tā zina tas funkcija, jo jūs aicināt to.
Bet tas nav jāzina, ka tas ir faktiski vajadzēja atgriezties virkni.
Tātad, piemēram, es teicu, stīgu s = GetInt, tas nav nekādas jēgas, jo
jūs parakstot skaitlim virkni.
Bet tas nav jāzina, ka GetString nav jēgas, jo tas nav
zinu, ka GetString atgriež virkni.
Tātad, ko cs50.h saka, ir kaut kas līdzīgs šim.
ALI: Tātad, ko Robs ir rakstīt ir, tas ir solījums tādā veidā, ka tas notiek
ir šo funkciju sauc GetString.
ROB: Tas ir viss, kas cs50.h ir iekopējat šeit, kā arī
kā GetInt un visas šīs lietas.
Un tas tikai saka, ka GetString tas atgriežas virkni.
Jūs nezināt, kā tas ir īstenots vēl, bet, kad mēs nokļūt šajā līnijā, tagad
tā zina, ka tā ir pareizi atgriež virkni.
>> SPEAKER 9: Tātad, ja mums nav apnikt ar # ietver lieta un tā vietā
tikko rakstīja, ka mēs patiešām gatavojas izmantot prototipu tiem?
ROB: Jā.
Tāpēc pieņemsim palaistu šo.
SPEAKER 9: Vai tā ir?
Tātad, pēc noklusējuma tā darīs-l līdz CS50 tikai tāpēc -.
ROB: - izteiksme.
ALI: Jā, jo, kā jūs teicāt, tas ir marku failā.
ROB: cs50.h arī notiek, typedef char * līdz virkni.
Jūs varat pilnībā ignorēt to, ko tas nozīmē tagad.
Bet tas ir arī kaut kas iekļauti cs50.h.
Tāpēc tagad lietas strādāja perfekti labi.
Tas darbojas tieši tāds pats, kā tas bija, kad mēs tikko bija
# ietvert.
Un tā arī cs50.h notiek ar pārāk ietver lietas, jums ir nepieciešams -
piemēram, jums nav izmantot GetInt šajā programmā, bet tas nav svarīgi.
Tas būs vienkārši ignorēt to.
ALI: Un tad, kad jūs darīt to-lcs50 nekā šeit un šeit, kas notiek
gada ir, ka tas ir ņemot faktisko īstenojamiem kodu.
Tā ka, ja tas tiešām ir, dara -
rakstot kodu GetString.
Tātad, tas nav tikai solījums vairs.
Tas faktiski iet cauri un ņemot stīgu un visu, kas stuff.
Jēga?
Jautājumi? Labi.
Cool pupas.
>> ROB: Tagad mēs varam pāriet uz faktisko kodu.
ALI: Labi.
Tātad, šeit ir pirmā problēma.
Tāpēc tā saka uzrakstīt programmu, kas liek lietotājam par mazo
burtu un tad pārvērš to par lielajiem burtiem, neizmantojot Bitu līmeņa
operācijām, kā vienu paraugu produkciju zemāk.
Tātad jūs varat redzēt, palaižot programmu ar. / A.out, un tad tu esi
gatavojas īstenot mazie, un tad jūsu programma būtu dot no kapitāla
A. Tātad, kāpēc ne jūs guys visi tā shot par CS50 telpām?
Tātad jūs guys var visi iet šeit.
Un jūs varat izdzēst visu kodu šeit.
Un tad jūs varat iet uz priekšu un sākt kodēšanu lieta.
ROB: Jūs, iespējams, vēlaties izmantot getchar, kas ir
iekļautas CS50 bibliotēkā.
ALI: Es domāju, tas varētu būt labāk, ja jūs saglabāt augšējo daļu.
Lai jūs varētu vēlēties, lai vienkārši mainīt sīkumi vidū.
Iet uz priekšu un strādāt.
Jūtieties brīvi strādāt ar otru.
Rob: Un jūs varat uzdot jautājumus, ja jums ir -
>> SPEAKER 10: Kas ir Bitu līmeņa operācija?
ROB: Tātad, ignorēt to, ka par šo problēmu.
ALI: Ja jūs nezināt to, ka ir labs.
ROB: Mēs ejam, lai izmantotu to nākamo problēmu.
Bet, ja jūs nezināt, ko Bitu līmeņa uzņēmējs, tas ir jauki.
SPEAKER 10: Vai tas, piemēram, griežot to ASCII kodu?
ALI: Nē.
Rob: Nē.
Jūs varat darīt, ka par šo problēmu.
SPEAKER 10: Kā jūs darīt?
Tātad, ja vien man bija kaut kur rakstīt -
ALI: Vai kaut ko uzrakstīt ar.
Rob: Es varētu tikai veida veida šajā.
ALI: Tips augšpusē.
ROB: Ak, es esmu sēžot uz mic.
>> Tātad, mēs redzējām lekcijā ka ASCII vērtība kapitāla ir 65.
Un kapitāla B būs 66, un tā tālāk.
Tātad jūs varat burtiski izmantot "A" nozīmē numuru 65.
Patīk, tas ir vērtība 65.
Es varu kaut ko darīt, piemēram, int x = 100 - '". Un tagad x būs vērtība
100-65.
ALI: Jūs varat palaist to un parādīt, ka.
Ak, varbūt ne.
Nekas.
ROB: Man bija to izdrukāt.
SPEAKER 10: Kā jūs pārvērst to atpakaļ uz raksturu?
ALI: Tātad, ja jūs Don '-
jūs vienkārši piespiest to būtu palija, vienāds.
ROB: Tātad ir -
starp char un veselam skaitlim atšķirība ir tikai lieluma ziņā.
Tātad skaitlim notiek, lai varētu pārstāvēt lietas uz augšu
lai, piemēram, četri miljardi.
Char ir tikai spēj pārstāvēt lietas līdz 255.
Bet nav atšķirība starp tiem, kas nav tas.
Tātad jūs varat teikt CHAR c = 65.
Tas ir līdzvērtīgi teikt CHAR c vienāds ''.
ALI: Ak, nē.
Tas nav reāli ietaupīt lietas.
Rob: Nē, jūs nevarat darīt.
ALI: Tas ir tikai -
[Vaidi]
>> ROB: Labi, lai to, ko Ali tikko rakstīja bija programma, kas pirmo reizi drukā 100 -
"" Kā veselums, kas bija 35, kā mēs sagaidām, jo ​​mīnus 100 ASCII
vērtība ir 65.
Tad viņa izdrukāt, izmantojot% C, kas nozīmē interpretēt kā char.
Tātad 100 - ir 35.
Interpretējot ka raksturs notiek, hash simbolu.
Ja paskatās asciitable.com vai neatkarīgi, jūs redzēsiet, ka 35 ir
hash simbolu.
ALI: Labi, citas precizējumi par problēmu?
Labi, jūs guys var iet uz priekšu un darīt to pēc tam.
Jūtieties brīvi uzdot jautājumus vai runāt viens ar otru.
Vai, ja jūs esat jau darīts, jūs varat atpūsties.
>> LUCAS: Vai viņi to pašu klasi, visi mazie burti kārtībā un
arī lielais arī ir kārtībā, jo tas ir kaut kas noderīgs
problēma.
ALI: Labs punkts, Lucas.
Tātad, jūs puiši visu iegūtu, ka?
SPEAKER 11: Jā.
Tas ir, kā jūs to darīt, labi?
ALI: Tiesības.
ROB: Jā.
SPEAKER 11: [dzirdams]
ALI: Nu labi.
ROB: Kas ir jautājums jautā?
Tikai, lai pārvērstu -
ALI: Convert mazo burtu uz lielajiem burtiem.
Viss.
ROB: Labi.
ALI: Vai mums rakstīt?
Es domāju, mēs vienkārši apskatīt kāds cits.
ROB: Tātad tiem, kuri varētu būt iestrēdzis, veids -
ja man ir dažas CHAR c, un pieņemsim, ka tā notiek, ir burts D
Tāpēc tagad, kā es varu izdomāt, ko alfabēta burtu C ir?
Nav D, bet es domāju, D notiek, ir ceturtais alfabēta burts.
Un, ja mēs sāktu skaitot no 0, tad tas ir trešais alfabēta burts.
Tātad, ja ir 0, B 1, C ir 2, D 3, kā es varu izdomāt int pozīciju -
kāda pozīcija alfabēta C ir?
Vai kāds ir kādas idejas?
ALI: Es domāju, ka viņi visi kodēšanas.
ROB: Kas par pirmo?
SPEAKER 12: Tātad kāds ir, atņemt pirmo?
ROB: Jā.
ALI: Jā, laba.
Lai jūs varētu darīt kapitāla D -
Ak, piedodiet.
Tu ņem raksturu un tu atņem pirmo vienu, kā jūs teicāt.
ROB: Tātad, ja D ir kaut kas līdzīgs 68, un mēs atņemt, kas ir 65, tad mēs
3, stāsta mums, ka ir D trešais burts no alfabēta
sākot no 0.
Tātad jūs varat izmantot.
Tagad mēs zinām, kas alfabēta burts, runājot par
lielos burtus, vai -
mēs varētu darīt to pašu par mazajiem burtiem izdomāt, ko
mazo pozīciju Mēs collas
Un mēs varam izmantot, ka, lai pēc tam konvertēt, ka par lielajiem burtiem, izmantojot
ļoti līdzīga ideja.
Lūgt ieteikumus?
>> ALI: Vai jūs puiši - Pagaidiet, es nezinu, cik tālu jūs puiši ir.
Vai lielākā daļa no jums jādara, jūs joprojām strādā, jūs iestrēdzis?
Jūs guys var izkliegt -
iestrēdzis.
Viens cilvēks ir iestrēdzis.
Atdzist.
Man ir tendence būt iestrēdzis, too.
SPEAKER 13: Es esmu darīts.
ALI: Tu esi darījis?
Labi.
Darīts.
SPEAKER 13: [dzirdams]
ALI: Jā, atdzesē.
Vai jūs pārbaudīt, ka tas ir mazo formu?
Labi, atdzesē.
Kur ir citi cilvēki?
Vai šī mājienu jums palīdzēt, kā ANO uzlīmēšanu sevi?
SPEAKER 14: Nav īsti, bet tikai tāpēc, es nezinu, es neesmu
karsējot to vēl.
ALI: Labi, atdzesē.
Vai jūs vēlaties izmēģināt -
vai jūs vēlaties, lai iet un runāt?
>> ROB: Ko es gribēju teikt, ir -
tāpēc, izmantojot šo.
Vai jūs saprotat, kā mēs saņēmām kāda nostāja alfabēta
burts ir?
SPEAKER 14: Labi, lai tad, kad jūs nodot lietas vienā citāts,
kas atgriež numuru?
ROB: Jā.
Tas tiks tulkots uz ASCII vērtību, ko tā pārstāv.
Tātad jūs vēlaties doties uz ASCII tabulu vai kāds tas ir?
ALI: Tikai viens no šiem?
ROB: Yep.
Tātad, ja jūs nodot kādu no šiem simboliem, ignorējot daudz -
ALI: [dzirdams]
ROB: Ak, izmantojot kursoru.
ALI: Jā.
Tas bija aizraujoši.
ROB: Tātad, ignorējot šos te pa kreisi, kas ir īpaši simboli -
ja jūs nodot kādu no šiem simboliem vienā pēdiņām, tad tas būs
tulkots šo vērtību pa kreisi.
ALI: Šis ir decimālais skaitlis par to.
Tas ir tāpat kā ar 65, B-66 spēlēm, un jūs ievērosiet, ka viņi visi
alfabēta secībā, kas padara starpību.
Tātad, kā Robs saka, pirms šajā kodeksā, mēs aprēķinot attālumu no
pirmais burts, per se.
Un tas būs tas pats, vai tas ir lielie vai mazie.
ROB: Tātad, kad mēs D, 68 mīnus, 65, mēs iegūt 3.
Jo D ir trīs pozīcijas savos alfabēta.
ALI: Tātad, tad kā jūs tulkot, ka vairāk nekā atrast maz d?
ROB: Jā.
Tātad, ja man ir 3 tagad, es zinu, es gribu iet trīs burtus -
mēs gadās būt iet mazie burti tagad, bet pieņemsim, ka es gribu iet trīs
pozīcijas Into mazo pusi lietas.
Tātad, kā es varu darīt?
Es zinu, mazajiem ir 97.
Tātad, kā es varu atrast trīs pozīcijas par to mazo burtu?
>> SPEAKER 15: Man ir viens jautājums faktiski.
ALI: Jā, iet uz priekšu.
SPEAKER 15: Tātad par šo, tas nav īsti jautājums, ja es zinu šo nostāju,
patīk, man nav vajadzīga šī galda.
Rob: Nē.
Jums nekad nevajadzēs izmantot kādu no šiem numuriem.
Un tas ir svarīgs punkts savas programmas, kas jums nekad nav grūti
kodēt kādu no šīm konstantēm.
Izmantot "A". nekad izmantot 65 vai 97.
ALI: Tie ir sauc burvju numuri, un viņi patiešām mulsinoši.
Piemēram, ja jūs atkļūdošana kodu, jūs nevarēsiet atcerēties, ko
tu lieto tos.
Un mums klasificēšanai savu kodu, mēs īsti nezinām, ko
jūs izmantojat tos.
Tāpēc tas ir labāk, ja jūs faktiski izmantot simbolus, lai tā padara
vairāk jēgas cilvēkiem.
Labi, visi citi jautājumi?
Ir vairāk cilvēku darīts, vai -
Es domāju, mēs varam pārbaudīt.
Tas ir patiešām rāpojošs, ka jūs varat redzēt cilvēku kodu.
ROB: Jā.
Mums nav to darīt šeit.
Mēs nezinām cilvēku vārdus, nu.
ALI: Ak jā, labi, kas padara to labāk, tāpēc mēs būsim vēl objektīvai
nevis tikai nejauši picking kāds.
Neuztraucieties.
Es to darīt.
Ja jums ir izlases lietas par - nekad prātā.
Labi.
Kā cilvēki dara?
>> SPEAKER 17: Tātad devītā pozīcija būtu izdrukāt raksturs?
ROB: Jā.
ALI: Jā.
Tātad, ja jūs iet uz leju -
ROB: Ak, nevar darīt.
ALI: Jūs redzēsiet, ka tas drukāts hash simbolu.
SPEAKER 17: Ak, labi.
Rob: Es domāju cits veids, kā jūs varat skatīties uz lietām ir mums drukājat 2
rakstzīmes.
Pirmais mēs drukāšana ir burts A
Nākamais viens mēs esam poligrāfijas ir tikai 65.
Tas būs iespējams bļaut uz mani par tiem.
Tātad, ja mēs vienkārši palaist šo, jūs pamanīsiet, ka tā drukā abas reizes.
Jo mēs esam lūdzot to pašu.
Mēs esam lūdzot to izdrukāt burtu A. Un tad mēs esam lūdzot to izdrukāt
numurs 65 interpretē kā raksturs, kas ir pats.
ALI: Vai jums ir kas sakāms?
Ak, tikai kidding, piedodiet.
Labi, cik ir cilvēki -
ROB: Mēs varam tikai staigāt pa to.
>> ALI: Labi, tā kā jūs sāktu?
Ikviens?
Kā mājienu, mums ir, lai saņemtu kaut ko no cilvēkiem, no typers.
SPEAKER 18: [dzirdams]
ALI: Ak jā, ātri, perfekts.
Tāpēc mēs rakstīt -
Ko mēs rakstīt?
Ikviens?
Vai man vienkārši ierakstiet to?
Vai mēs tiešām rakstīt -
ROB: Protams.
ALI: Tātad mēs rakstīt printf ātri to, lai mēs varētu būt
patīk, man raksturs.
Labi, un tad ko?
Kāpēc ir tā dara, ka?
Rob: Es nezinu.
ALI: Labi.
Tāpēc tagad, mēs esam spēcīgi viņus, lai dotu mums raksturs.
Bet tad kā jūs faktiski nokļūt, ka raksturu?
SPEAKER 19: Izmantojiet GetString.
ALI: GetString?
Getchar?
Labi, lai to, kas starp stīgu un char atšķirība?
SPEAKER 19: Stīgas ir sērija, tāpat kā masīvs rakstzīmes.
>> ALI: Cool, jā.
Tātad šo problēmu, mēs tikai nepieciešams apsvērt vienu rakstzīmi laikā, tāpēc
mēs esam tikai gatavojas darīt getchar šim piemēram.
ROB: Mēs varētu ieviest funkcijas, ja mēs vēlējāmies, ka paņēma virtenei
un gāja pa stīgu un mainīt visiem mazajiem uz lielajiem un visiem
lielos uz mazajiem burtiem.
Bet šeit, mēs esam tikai lūdzot jums par vienu rakstzīmi.
ALI: Tāpēc tagad mums ir raksturs šeit, bet tad mums ir nepieciešams, lai saglabātu to.
Tātad, tad mēs pievienot CHAR c - ko?
SPEAKER 20: Noteikt mainīgo.
ALI: Jā, tieši tā.
Tāpēc mums ir mūsu raksturu.
Rob: Es domāju, ka jūs varētu būt -
tu esi tikai trīs telpas,, kas ir iemesls, kāpēc tas kliedza pie jums.
>> ALI: Labi, atdzesē, tagad mēs esam tabbing komplektu, kas notiek tālāk?
Kas nākamais solis?
ROB: Ko mūsu programmai būtu jādara, ir jāmaina mazo burtu uz
lielo burtu.
Ko darīt, ja es notikt, lai ievadītu hash simbolu?
Ir tas, ka -
ALI: Tas ir labs simbols.
Mēs izmantojam to daudz.
ROB: Vai tas derīgs lieta, ko es varētu konvertēt uz lielo formu?
SPEAKER 21: Nē.
ALI: Nē.
Mums vajadzētu pārbaudīt, ka.
Lai mēs varētu būt, ja paziņojums pārbaudot tādēļ, ja c ir lielāks nekā
vai vienāds ar mazo burtu "A'-
tāpēc, ja mēs skatāmies uz diagrammas, jūs pamanīsiet, ka tā ir jābūt starp šeit,
pie 97 un mazo a.
Un tas var būt jebkurš no šiem, un ik pa visu ceļu uz leju.
Un tad tur ir z pie 122.
Un tas ir samazināties starp šīm divām vērtībām.
Vai ir jēga?
ROB: Tātad, ja c ir nevis starp 97 un 122 -
vai jums nekad nevajadzēs izmantot šos skaitļus - ja c nav starp "A" un
"Z", tad tas nav derīgs raksturs mums lielajiem burtiem.
ALI: Tātad kodu veidā, mēs sakām, ka, ja c ir lielāks vai vienāds ar vienotā
gadījumā mazie -
wow, kā jūs teikt, ka?
Labi, ir lielāka vai vienāda ar mazo burtu "a", un tam ir jābūt virs
mazo burtu "Z". Tātad tas ir mazāks nekā vai vienāds ar mazo 'Z'.
Mēs pārliecinātos, ka tā ir starp diviem.
Tad mēs varam turpināt ar mūsu laimīgu kodu.
Kas?
ROB: Tātad es sapratu, mēs varētu tikai glabāt jautā, ja mēs notikt nav
mazo burtu.
ALI: Ak, man nebija zināms par to.
Žēl.
>> Labi, tāpēc, ja mēs gatavojamies darīt, jo Rob saka, un pārliecinieties, ka -
mēs varam glabāt lūdzot viņiem, tad ko mums vajadzētu darīt?
SPEAKER 22: [dzirdams]
ROB: Jā.
Mums vajadzētu izmantot kādu no cilpas.
Jo lietotājs var ievadīt kaut nederīgs neminēts apjomu reizes.
Tātad jūs varat izmantot, kamēr cilpa.
Mērķis ir do-kamēr cilpa -
burtiski, tikai laiks visu jūsu dzīvi jūs kādreiz izmantot do-
bet cilpas ir, kad jūs lūdz lietotāja ievadi.
Tātad fakts mēs prasām lietotāja ievadi šeit ir mājiens, ka mums
izmantot do-kamēr cilpa.
Un kāpēc tā?
Jo do-kamēr cilpa vienmēr notiek vismaz vienreiz.
Tātad, ja jūs esat lūdzot lietotāja ievadi, jūs vēlaties, lai tas notiktu vismaz reizi.
Un tad, ja viss bija veiksmīgi, jūs varat glabāt notiek.
Ja tā nav, iet atpakaļ un atkal.
>> ALI: Tātad, citiem vārdiem sakot, mums ir jādara sadaļā.
Un tā tas ir stāsta to kaut ko darīt.
Tā printf -
izdrukāt paziņojumu, ātru, kā arī saņemt raksturs vai mēģinājums
saņemt raksturs.
Un tad mums ir, lai pārbaudītu, vai tas tiešām to darīja pareizi.
Tātad, tad mēs pievienot nosacījumus, tad mēs sakām, bet, un tad mums ir
nosacījuma apgalvojums.
ROB: Bet tagad mēs esam samainīja domu.
Tagad mēs sākotnēji bija sakot, ja c ir šajā diapazonā, tas ir derīgs.
Tagad mēs vēlamies mainīt šo un teikt, ja c ir ne šajā diapazonā, tad mēs
nepieciešams, lai atbalstītu darīt lietas vēlreiz.
ALI: Ak, jā.
ROB: Tāpēc, kamēr tas nav taisnība, mēs gribam iet uz priekšu un
lūgt citu raksturu.
Vai visi redzētu, ka?
Jautājumi par šo?
Labi.
>> Tāpēc tagad mums ir derīga raksturs, ka mēs varam lielo burtu.
ALI: Tātad, tad kāda nākamais solis uppercasing to?
23 SPEAKER: Pievienot 32.
ALI: Jūs pievienot -
žēl, ko?
SPEAKER 23: Vai tu tikai pievienot 32?
ROB: Tātad, jā, nevis ziņā burvju numuriem.
Jums vajadzētu tikai izmantojot viena quote sīkumi.
SPEAKER 23: Labi, labi -
Rob: Bet jūs varat saņemt 32 -
ALI: Kā tu numuru 32, es domāju, ir tas, ko mēs esam saka.
SPEAKER 23: [dzirdams]
Rob: Tātad, mēs varam nākt klajā ar numuru 32 kopā -
SPEAKER 23: [dzirdams]?
ROB: Jā.
Bet, ja mēs ejam, lai darīt to divos posmos mēs darījām pirms ar
pozīciju sīkumi.
Tātad ar alfabētu, ka c notiek, ir pozīcija ir c mīnus mazie
"". Tātad, ja mēs ieraksta ar mazo "d", amats būs 3.
Un tagad mēs vēlamies, lai lietas uz lielo klāstu lietām.
Tātad tagad mūsu jaunā c būs galvaspilsētas '' plus pozīciju.
Tātad cilvēki redzētu, kā tas mūs noved -
mēs esam pārvietojas no mazo diapazonā, precīzs dziļums mēs vērā, ka
diapazons, un iet uz leju uz lielo klāstu, un iet tik tālu
tajā atkal, kas būs tāds pats raksturs, bet tagad
uppercased.
ALI: Un cilvēki, kas bija nesaprašanā par to, kā viņš tikko teica 32,
Pamatā viņš kombinēt abus šos vienā pārskatā.
Tāpēc līdzvērtīgu veids rakstot tas saka jūs varat vienkārši veida
aizstājējs amats, c mīnus "," un nodot to šeit.
Tātad, ko viņš darīja, es Don '-
CHAR newc = lielais burts "'plus c mīnus mazo" ". Un tāpēc, algebra,
Jūs varat pārvietot tās apkārt.
Jūs varat arī teikt, ka jūs varat to pārvietot tik CHAR newc = lielais burts "'
mīnus mazo "a" plus c.
Un tas, jūs pamanīsiet, ja mēs ejam atpakaļ uz diagrammu.
Mums ir lielos ir 65 un mazajiem ir 97.
Tātad 65-97 ir -32.
>> Hi.
Veikt vietu.
Oh.
Jūs varat sēdēt šeit.
Cool, labi, lieliski.
Laipni lūdzam sadaļā.
Jūs pamanīsiet, ka atšķirība ir 32.
Tā ka, ja viņš dabūja šo numuru.
Bet tas nav, jo Rob saka, labākais veids, kā to darīt, jo tas ir dīvaini
burvju numuru apjukums.
ROB: Jums vajadzētu izmantot kapitālu mīnus mazie.
Jums nevajadzētu lietot tikai taisni 32.
SPEAKER 24: Kāpēc ir tā, ka, atkal?
Kādēļ Jums vajadzētu neizmantot 32?
ALI: Ja mēs to darīja, tas būtu char newc = -32 + c.
Un, ja jums nav redzēt kādu no pārējo tā, ja tas ir viss ir pagājis, un jūs
tikai redzēt šo vienu līniju, tad kā jūs zināt, ko negatīvā 32 ir?
Tas ir tikai nevietā.
ROB: Tātad jūsu programma darbosies pilnīgi naudas sodu.
Tas ir tikai stils lieta.
Kāds iet un lasīt savu kodu, viņi tāpat Kāda 32 nozīmē?
Varbūt viņi Don '-
Es, iespējams, nebūtu uzreiz saprast, ka 32 notiek, ir
atšķirība starp mazo burtu lielo burtu, kaut gan
mēs spēsim izmantot šo faktu nākamo problēmu.
32 ir -
Jūs varētu atstāt komentāru virs tā sakot 32 atšķirība starp
"" Un "". Bet tajā brīdī, kāpēc ne tikai izmantot "A" un "A", un jūs
nevajag komentāru tam.
>> ALI: Tas ir tikai iepriekš to veidi ir daudz tīrākas, stila ziņā.
Un tā, jo jūs tikko sākusies programmēšana -
vai es domāju ne, jo tu esi hakeris EDI - nekad prātā.
Tas ir tikai labs veids, kā ir -
tas ir labāk, lai ir labāk stilu.
Tas ir vieglāk, lai citiem cilvēkiem, lai lasītu.
ROB: Jums nekad nevajadzēs atcerēties ASCII tabulu, kādreiz.
Jums vajadzētu tikai varētu izmantot vienu citātu rakstzīmes.
Jautājumi?
ALI: Ikvienam labs?
ROB: Labi.
Tātad nākamā problēma ir ievērojams.
Tātad nākamā problēma jautā mums -
ALI: Nākamā problēma ir lūdzot mums darīt to pašu, bet izmantot
Bitu līmeņa operatoriem.
ROB: Un, protams, mēs neesam redzējuši Bitu līmeņa operatoriem vēl.
Tātad mēs tagad apspriest tos.
ALI: ir satraukti.
Viņi super jautri.
>> ROB: Tātad regulāra operatori, piemēram x plus y, mīnus, laiki, dalīt.
ALI: ierakstiet to šajā ātri.
Rob: Pastāv arī%, ja jums nav to redzējuši, ko var izmantot ar
procenti simbols.
Bet mēs ne izmantot tos uz šo problēmu.
Mēs vēlamies izmantot Bitu līmeņa operatoriem.
Tagad atceros, mēs to atnesa uz augšu vienā lekciju.
Es neesmu pārliecināts, vai mēs esam apspriests bināro ārpus tā.
Bet atcerieties, ka katrs numurs ir pārstāvēta -
labi, viss -
ir pārstāvēta 1s un 0s binārā.
Tātad tas nozīmē, ka tad, kad es saku skaitlis 8, es zinu, ka tas,
piemēram, 1000.
Kas Bitu līmeņa operatoriem ļaujiet mums darīt, ir darboties šajās bitiem -
ir darboties šajos bitiem tieši.
Tagad es esmu vairs nodarbojas ziņā astoņi.
Es esmu, kas nodarbojas ziņā 1000, un es gribu darīt lietas ar tiem
individuālie biti.
Tātad Ali ir rakstījis Bitu līmeņa operatoriem šeit, bet That -
Numuru 8 mēs izmantot kā vienu no mūsu piemēram numuriem.
Un binārs atveidojums ir 1000.
Mēs izmantosim citu numuru, 5 -
faktiski pieņemsim izmantot 9 un 5.
Un 5 s binārs atveidojums ir 00 -
0101.
ALI: Vai ikviens labas par šo?
Binārā sīkumi?
Tas bija no pirmās lekciju?
>> ROB: Tātad, pat ja jums nav pilnīgi uz augšu, kā pārvērst lietas
binārā, tas nav pilnīgi svarīgi šo problēmu.
Mēs būsim, izmantojot to, bet jums ir daudz lielākas iespējas, lai noskaidrotu, kā
ātri pārvērst lietas vērā bināro.
Tātad, izmantojot 9 un 5, tagad mums ir mūsu Bitu līmeņa operatoriem.
Ak, un arī, 9 un 5, ja tas ir vesels, tad tiešām tas ir 32 biti,
kas nozīmē, ka mums ir, piemēram, 0, 0, 0, 0 daudz reižu, tad
101 uz pašām beigām.
Tas ir tikai tāpēc, ka nav svarīgi, ko jūs darāt, jo integers, 32 biti.
Tikai tāpēc, ka mums ir nepieciešams tikai četri biti, kas pārstāv 9 nenozīmē, ka mēs neesam
izmantojot augšu Citi 27 biti, lai tikai 0s.
ALI: Tikai, lai noskaidrotu, kas ir viens no šiem skaitļiem, ka ir 0 vai 1 ir mazliet.
Tas viens ir 4 biti.
Kā tik Rob teica, ka mašīnas glabāt tos 32.
Tātad tie būtu 32 vai nu 0 vai 1.
Cool?
ROB: Bitu līmeņa operatoriem.
Pirmais, ka mēs galā ar, pieņemsim do &.
Tātad, ja mēs 9 & 5.
Tātad, ko & dara, ir, pamazām, tas salīdzina biti diviem cipariem
un ja abi skaitļi ir 1, tad tas atgriezīsies 1.
Ja viens ir 0 un otrs ir 1, vai abi ir 0s, tad tas atgriež 0.
Tātad jūs varat domāt par to kā savu loģisko rupjos.
Kā jums taisnība, un taisnība, lai atgrieztos taisnība, bet taisnība un viltus ir nepatiesa.
Tātad, tas ir tas pats, bet tagad mums ir darīšana ar to tikai ar bitiem.
>> ALI: Tātad, ja paskatās uz to, jums ir 1 -
jūs līnija tos, tāpēc tas būs 1 un 0.
Vai jūs puiši domājat, ka varētu būt - kas būtu tas jāizvērtē, lai?
SPEAKER 25: 1.
ALI: Cool.
Vai nē.
Žēl.
Tātad tas ir jēga?
Tātad, kāda ir kolektīva atbilde atkal?
Žēl.
Tātad, ja mums ir 1 un 0, tad ko jūs saņemsiet?
ROB: Tātad jūs domājat par to, kā jūs sakāt, un skaļi.
Ja jums ir divas biti, x un y, jums x un y ir 1, lai par to
lai novērtētu ar taisnība - vai, lai tā izvērtētu līdz 1.
Ja x vai y ir 0, tad novērtējums ir nepatiesa vai 0.
LUCAS: Tas ir labi atcerēties arī to, ka 1 ir patiess un 0 ir nepatiess.
Tātad, ja jums ir taisnība un nepatiesa, tas ir nepatiess.
Bet tad, taisnība un patiesība, taisnība.
Viltus un nepatiesi, nepatiesa.
ALI: Mums ir patiess un nepatiess.
Lai 1 un 0.
Tātad, tad atkal, piedodiet, vēl vienu reizi?
SPEAKER 25: Tas būtu 0.
Yeah, atdzesē.
Un tad mums ir 0 un 1 -
SPEAKER 25: [dzirdams]
ALI: Jā.
Tātad, jūs vienmēr varat mijmaiņas tos -
Tad, ja jums ir 0 un 0?
SPEAKER 4: 1?
0?
ROB: Tātad, tas ir 0.
Nav tā, ka abi skaitļi ir jābūt pašu.
Tas, ka abi skaitļi ir jābūt 1.
ALI: Tātad abi ir, lai būtu patiesība, lai tā būtu patiesība.
Tātad tas ir 0.
Un tad jums ir 1% 1, kas ir?
ROB: Tie ir diezgan labi numuri.
Viņiem ir visas iespējas -
ALI: Labs darbs, wow.
Labi, atdzesē.
Tātad tas ir jēga visiem?
>> ROB: Tātad tagad mēs darīsim |.
Un tas būs ļoti līdzīgs, bet tagad tā vietā x un y nepieciešamības
jābūt 1, lai tā varētu novērtēt vienam, tagad tas ir tikai x vai
y jābūt 1.
ALI: Tātad 1 | 0 novērtēts ar -
KLASES: 1.
ALI: Cool.
0 | 1 novērtē līdz -
KLASES: 1.
ALI: Atdzesē, un tad 0 | 0 -
KLASES: 0.
ALI: Jā, un tad 1 | 1 -
KLASES: 1.
ALI: Cool.
Tā ka, piemēram, divas Bitu līmeņa operatoriem.
Awesome.
ROB: Tātad tagad mēs darīsim ^.
ALI: Vai mēs visi no tiem?
ROB: Jā, jo es domāju, ka mēs ejam, lai izmantotu to -
izmantojot tos visus.
ALI: Labi.
Tātad -
Rob: Es domāju, mums nav nepieciešams.
ALI: Tātad ^ darbi, kas jums ir nepieciešams tieši viens patiess un viens viltus.
^ Nozīmē izslēgšanas.
Tāpēc tagad tas nav -
ja x un y ir gan 1, tas ir tagad nepatiesa.
Tas ir atšķirība starp ^ un |, ka vai jūs varat būt, ja x ir
patiess vai y ir taisnība, tad mēs esam labi.
Nē, ^ saka, ja x ir taisnība, y jābūt nepatiesa, vai arī tā nav taisnība.
Vai jums ir jautājums?
>> SPEAKER 26: [dzirdams]
ALI: Jā.
Tas ir sava veida līdzīgs.
ROB: Jā, tad, kad jūs nokļūt, ka zema līmeņa aparatūras sīkumi, tie ir
Darbību veidu jums ir darīšana ar.
Pie aparatūras līmenī, jums būs tikai galā ar biti.
Jums nav galā ar skaitļiem.
ALI: Labi, lai ^, vai ja jums ir 1 ^ 0, kādi būtu tas jāizvērtē, lai?
KLASES: 1.
ALI: Cool.
Ja jums ir
0 ^ 1? KLASES: 1.
ALI: Cool.
0 ^ 0?
Atdzist.
Un tad 1 ^ 1?
KLASES: 0.
ALI: Atdzesē, awesome.
Nākamā -
Rob: Es domāju, ka tie ir viss, kas mums ir tikt galā ar.
Mēs tikai šie.
ALI: Vienīgā reize mums būs jādara -
ROB: Ak, kas būs par pēdējo problēmu.
SPEAKER 27: Paga, atkal?
ALI: Atvainojiet, kāds bija jūsu jautājums?
>> 27 SPEAKER: Vai jūs varat izskaidrot, ka atkal?
The ^?
SPEAKER 27: Exclus - jā.
ALI: Tātad, ko izslēgšanas nozīmē, ka tur ir jābūt tikai un vienīgi
Viena taisnība un viens viltus, tāpēc 0 viena 1 un viens, salīdzinot ar VAI, jūs varat būt -
viens no tiem ir, lai būtu patiesība, vai abi no viņiem var būt taisnība, par to
izvērtēt taisnība.
SPEAKER 27: Tik 0 un 0 būtu nepatiesa.
ALI: Jā.
Bet, ja jums ir 1 |
1, kas novērtē taisnība.
Bet, ja jums ir 1 ^ 1, kā mēs to darījām, ka tiek novērtēts ar FALSE.
Jo tas nav tikai viens ir taisnība.
ROB: Un tas var vai nevar būt noderīga, bet paziņojums, ka ^ ir
vienāds tikai ņemot |
mīnus &.
Un jūs faktiski var domāt par to šādā veidā.
^ Ir tikai ORing viss kopā, bet ārā kādu no bitiem, kur
abi bija taisnība.
Tātad & atgriež visu, kur abi bija taisnība.
| Atgriež visu, kur viens vai abi bija taisnība.
Tā atņemot ka ārā no | dod jums ^.
ALI: Kādi jautājumi?
Tas bija daudz informācijas.
Ikvienam labs?
>> ROB: Mēs varam iet pa nākamo tiem nākamo problēmu, slīpsvītra
kāds laiks tas ir?
Viņiem nav vajadzīga šī līdz nākamā problēma.
ALI: Es domāju, tas bija tas viens.
ROB: Tas nav.
ALI: Vai esat pārliecināts?
ROB: Jā, es esmu pozitīvs.
ALI: Kāpēc mēs sāktu darīt nākamo problēmu?
Problēma ir, atkal, lai mainītu to no mazajiem uz lielajiem burtiem, un tas
laiks, lai izmantotu Bitu līmeņa operatoriem.
ROB: Tātad mēs -
Sāksim ar binārā pārstāvību "", kapitāla "',
kas ir 65.
Tātad binārā -
tāpēc "" = 65, kas =, binārā -
Es esmu gatavojas izjaukt skaitu 0s - kas.
ALI: Tātad tas ir jēga visiem?
Tātad, 1, ne 2s, ne 4s, ne 8s, nē -
ne 16s, ne 32s, un tad viens 64.
ROB: Jā, es domāju, ka viens pārāk daudz 0s.
ALI: Atvainojiet.
>> ROB: Labi, tāpēc mums ir 64 komplekts, un mums ir 1 komplekts, un apvienojot tos
kopā, mēs 65.
ALI: Cool pupas?
ROB: Tāpēc tagad, mazie "A'-
pamanīt 97 -
kāda ir atšķirība starp 97 un 65 atšķirība?
SPEAKER 28: 32.
ROB: Jā.
Tātad, tas ir 32, kas ir tās pašas mazliet, lai būs 110.001.
Un tas būs patiess visām iespējamām zīmēm.
Tātad, ja mēs domājam par "D", kas gatavojas būt 68, kas būs 1.000.011.
Un tad mazo "d" būs 68 Plus 32, kas ir 100, kas ir
būs tas pats, kas tas bija, tikai flipping
32 atkal, tāpēc 1.100.011.
Tātad starp lielo un mazo burtu atšķirība ir tikai flipping
ka 32 bitu pozīciju.
SPEAKER 29: Vai nav tā 1.000.100?
ROB: Pagaidiet, tas ir 100 -
kaut ko es izdarīju nepareizi.
Tas nebija taisnība.
Es domāju, ka tā bija atšķirība no 3, tad es vienkārši iestrēdzis
binārā 3 beigās.
Tas būtu labi.
ALI: Paldies.
Labi par norādot, ka out.
Tas bija straujš.
Labi, ka skaidrs, lai cilvēki?
>> ROB: starp lielo un mazo burtu versiju atšķirība ir
vienmēr tikai būs 32, un tāpēc tas vienmēr būs viena mazliet
kas nepieciešams Pagriezts mainīt starp diviem.
ALI: Tātad šajā gadījumā, zinot, atšķirība starp kapitāla A un
mazo burtu, ir laba lieta.
Nav jūsu kodu, bet konceptuāli vismaz, tas ir labi.
Tātad jūs guys var iet uz priekšu un koda ka Spaces tagad.
Vai mums vajadzētu vienkārši apspriest?
ROB: Mēs varam tikai apspriest to.
Es nezinu.
Jūs guys var mēģināt.
Sazināties savā sevi par mazliet.
Mēs jums iespēju kodam to.
[Interposing balsis]
ALI: - ir forši
SPEAKER 30: Tas ir tāpat hakeru komēdija.
ALI: Jā, mēs esam tikai spēcīgi ziņas, iet caur to.
>> Rob: Un mēs esam atpakaļ.
ALI: Tas ir sava veida dīvaini.
Es jūtu, mums ir jābūt CS50 ziņu stacijas, un mēs varētu
faktiski sēdēt kā šis.
ROB: Hacker News.
ALI: Hacker News 50.
ALI: Jūtieties brīvi uzdot jebkādus jautājumus, ja jūs sajaukt.
ROB: Vai kāds iestrēdzis?
ALI: Jā, tas ir laba lieta.
ALI: Paga, jūs iestrēdzis savā krēslā?
Oh.
Man bija mazliet nobažījies.
ROB: Tā kā es tikko sapratu, ka mēs vēlamies
cits Bitu līmeņa uzņēmējs.
Tagad, pieņemsim tikai pārvērst lielos uz mazajiem burtiem.
ALI: Atvainojiet, nebija ikviens iegūtu, ka paziņojumu?
Mēs ejam, lai iet no lielajiem uz mazajiem burtiem.
ROB: Tad mēs apspriest mazo lielajiem uzreiz pēc tā.
Ak, nē.
Mums ir bug šajā, kas, es domāju, mēs nekad nav mēģinājis, lai palaistu.
Kas ir tikai, ka CHAR c jādeklarē ārpus cilpas, jo
tā darbības joma ir ierobežota cilpa.
SPEAKER 32 Šajā gadījumā, tas ir nepareizi lietot numuru?
ROB: Eh, jums nav nepieciešams.
Ja es garantē, ka kapitāls "A'- vai mazo" "mīnus kapitāls" "
bija tieši viens bits, bet jūs nezināt, tas ir 32 -
lietas varētu strādāt tikpat labi, ja tas būtu 16 bitu, kas bija Pagriezts - vai
nē, es domāju, tas wouldn't -
vai 64 bitu bija Pagriezts, iespējams.
Bet jums nav nepieciešams izmantot 32.
Jūs varētu tā vietā izmantot mazo "a" atņemot kapitāla ''.
>> SPEAKER 32: Labi.
Ko jūs varat darīt, ja jums justies kā jūs esat rakstiski pārāk daudz ir jūs varat definēt
augšpusē.
Tātad jūs varat būt, piemēram, int starpību = mazo "a" atņemot kapitāla ''. Un
tad jūs varat rakstīt atšķirību vietā.
Tas ir derīgs.
Bet tikai izmantojot numuru 32 ir sava veida -
SPEAKER 33: Pat ja tas ir tāpēc, ka tas ir 32 bitu?
ALI: Jā.
ROB: Tur varētu būt -
vienīgā garantija mums ir nepieciešams veikt jums, ka atšķirība starp
mazos un lielos ir viens bits.
Tas nav svarīgi, ka tas notiek, ir 32 bitu, kas ir Pagriezts.
Par laika apsvērumiem, mēs sāksim iet pa to.
Tas ir labi, ja jums nav pabeigta.
Neuztraucieties par to.
ROB: Pieņemot c ir lielais burts -
mums nav jāuzņemas c ir lielais burts.
Mēs zinām, c ir lielais burts pēc šī kamēr cilpa -
do-kamēr cilpa.
Tātad tas nozīmē, ka tas izskatās aptuveni šādi "". Tātad, ja mēs gribam, lai šī
"", Lai šo "", ko mums vajag darīt?
Tātad, kā mēs atgrieztos un uzsist mazliet?
ALI: Kā mēs uzsist to?
>> ROB: Tātad mēs zinām, mēs vēlamies, lai uzsist 32 bitu.
Tā ka būs jādara "" mīnus "", vai mēs varētu rakstīt 32, bet -
darn to, tas ir otrādi.
ALI: Labi, lai Robs šeit ir aprēķinot šo numuru, burvju numuru 32.
Tāpēc viņš uzzināt, kur tas mazliet uzsist platība būtu.
Un tad ko mēs likts kur jautājuma zīmes ir?
Rob: Kā mēs uzsist ka mazliet?
Runājot par lielo burtu, tas ir 0, un mēs vēlamies, lai kļūtu 1.
SPEAKER 34: |.
ROB: Jā.
Tātad tas mums saka mēs "". Mēs esam ORing to ar 0 -
1000 -
un ka = ka.
ALI: Vai ir jēga uz visiem?
Mēs varam iet caur to pamazām, ja jūs vēlaties.
SPEAKER 35: Vai jūs [dzirdams]?
ALI: Kur ir mīnus zīmi?
ROB: Ak, tu domā šeit?
ALI: Ak, jā.
ROB: Tāpēc es domāju, tas ir mums.
Mēs varētu teikt 32, un tagad mēs esam tikai izmantojot Bitu līmeņa operatoriem.
ALI: Mums nepatīk burvju numurus.
Mēs nebrauksim, lai to izdarītu.
Arī es domāju, ka mums vajadzētu vienkārši izmantot Bitu līmeņa operatoru -
SPEAKER 36: Ja jūs izmantojat ^ a, jūs saņemsiet 32?
SPEAKER 37: Jā, es domāju -
ROB: Jā jūs.
ALI: Tas ir, kā jūs būtu darījis to iet
no kapitāla uz mazajiem burtiem.
>> Tagad var kāds man pateikt, kāpēc Rob un es mainīja ātru un kā mēs devāmies
no lielajiem mazie, nevis mazajiem lai
lielos kā mēs domājām pirms?
Vai kāds ir kādas idejas, kāpēc tas varētu būt grūtāk?
ROB: Tātad mēs gribētu darīt -
ALI: Jā, iet uz priekšu.
SPEAKER 38: | operators bija tikai patiešām labs pievienojot.
ALI: Jā, tieši tā.
ROB: Tātad, ko mēs vēlamies darīt, mazie lielajiem lieta ir,
pārveidot šo "A'-
tāpēc mēs vēlamies nodot dažiem numuriem šeit un izmantot dažas operatoru lai tā nāk
veic ar kapitāla A. Mēs joprojām iespējams izmantojot 32 kaut kā, bet tagad kā mēs
saņemt šo iznākt ar šo?
Tātad c -
Ak, es joprojām gribu, ka arī -
ALI: Tāpēc tagad, ja mēs konvertēšanu no mazie lielajiem atkal, tad mēs
do ^ darbību, kā jūs puiši teica.
ROB: Ir citi veidi, kā jūs varat darīt lietas.
No Bitu līmeņa operatoriem partijas galu galā ir ļoti viegli definējams ziņā
Citu Bitu līmeņa operatoriem.
Tāpēc man bija gatavojas neizmantot ^ vai vispār, bet ^ strādāja perfekti labi.
>> ALI: Labi, tāpēc mēs gatavojamies iet uz pēdējo problēmu, kas ir pamata -
Pēdējā problēma ir pārvērst kaut bināro.
Tā, piemēram, jums ir 50, un tad jūs pārvērst to uz
binārā, kas ir 110.010.
Un es domāju, ka jūs guys visi zinām par bināro no lekciju.
Un jūs arī neesat vajadzēja likt jebkuru vadošu 0s tajā.
ROB: Jūs varat ignorēt šo daļu tagad.
Pirmā loka, jūs varat darīt, lai ir vadošie 0s.
Un tad mēs varam mainīt, ka tai nav nekādas vadošā 0s, ja mums ir laiks.
ALI: Tātad nav jāuztraucas par to.
Tikai mēģināt iegūt bināro.
Labs sākums varētu būt -
ROB: Mums nepieciešams lūgt veselam skaitlim.
ALI: Ak jā, tas ir labs.
Mēs varam sākt ar to.
Tātad jūs varat mainīt ātri.
Tā vietā raksturs, tagad mums ir darīšana ar veseliem skaitļiem.
Cool?
>> ROB: Un ko tagad ir mūsu do-kamēr nosacījums būs?
Tas prasot nav negatīvu skaitlim.
ALI: Ja mēs gribam, lai saglabātu pamudinot lietotājam kaut kas cits?
Ja tas ir mazāks par 0.
ALI: Tiesības.
ROB: Kaut i ir mazāks par 0.
ALI: Tagad mēs vēlamies, lai pārvērstu to.
Vai jums puiši ir kādas idejas par to, ko darīt?
Jebkuras inklings?
Yeah.
SPEAKER 39: Vai mums ir pārvērst to, vai mēs varam tikai izdrukāt dažas 0s un 1s
ka būtu labi skaitlis?
Jūs varētu darīt par cilpu un rēķināties veic pilnvaras 2?
ROB: Jā.
Jums nav nepieciešams, lai pārvērstu I tā bināro -
binārā pārstāvību es ne ielikt no i.
Jums vienkārši nepieciešams, lai izdrukātu bināro pārstāvību i.
ALI: Citiem vārdiem sakot, jums nav nepieciešams iet pa pilnvaras divi.
ROB: Jo es jau tiek saglabāts kā binaries, tāpēc jums nav nepieciešams
konvertēt to uz bināro.
Tikai iet pa savu bināro, un to izdrukāt.
Un jūs gatavojas nepieciešams, lai izmantotu Bitu līmeņa, jo jūs vēlaties, lai apskatīt
faktiskie biti.
Jums nav nepieciešams izmantot Bitu līmeņa, bet, lūdzu, darīt.
Un tas ir tiešām -
jūs varat vienkārši darīt pilnvaras divus reizinot ar 2.
Mēs iet pār vienu no pēdējiem diviem bināro Bitu līmeņa operatoriem,
kas tas ir viens.
Tātad, ja jūs lietojat -
>> ALI: Vai jūs iet caur viņiem abiem?
ROB: Jā.
Tāpēc iesim ar 9.
Tāpēc 9 kreisās maiņu 1 -
ko atstāja Shift līdzekļi ir vienkārši pārvietot visus bitus pa kreisi un ievietot 0.
Tāpēc mēs esam pārvietojas visi biti 9 līdz atstāj vienu
pozīciju, kas dod mums -
Tāpēc pamanīt mums ir pārvietoti viss atstājis vienu, un iekļāva 0 par
labajā pusē.
Ja mēs būtu nobīdīts pa kreisi ar divi, mēs varētu novirzīt visu atstāto divi,
un ievietot divas 0s aizpildīt robus.
Jautājums?
ALI: Tātad labi pāreja nav līdzīga lieta.
Ja jums ir 9 pareizo pāreju 1, tad jūs vienkārši pārvietojas viss pār
labi, jūs zaudējat ciparu, tā 100 vietā.
ROB: Tātad jūs tas ir labi, ka jums ir zaudēt mazliet, kas notika, ir visas
Ceļš uz labo pusi.
Ir dažādi veidi, labo maiņām, bet būtībā jūs varat iedomāties
Tiesības novirzīt kā tikko dalot ar 2.
Un jūs varat domāt par kreisā maiņā kā reizinot ar 2.
Tātad, ja jūs pārveidot šo -
ja konvertē 9 Shift 1, kas ir vienāds ar 10010, ja jūs tiešām gāja
caur divkāršiem un sapratu, kas tas bija, tas būtu vienkārši 18.
Mēs vienkārši reizināt ar 2.
1001 kreisais Shift 2 būs 36.
Mēs reizināt ar 4.
Labi, atdzesē, tā ka ir ērts Bitu līmeņa uzņēmējs par šo vienu.
Vairāk apjukums?
Vai jūs puiši vēlas to izmēģināt?
Vai mēs varam vienkārši lēkt tiesības un sākt to?
ROB: Mums būtu iespējams lēkt tiesības collas
ALI: Jā, labi.
Rob: Un staigāt pa to kopā.
>> ALI: Nu es ņemšu tikai iet uz to.
Tā kā viņš teica sākumā, mēs ejam, lai tikai iet cauri pamazām.
Tāpēc mēs esam gatavojas nepieciešama cilpu.
Vai kāds ir ideja par labāko veida cilpa iet caur šo?
Mums ir, vienlaikus cilpas, do-kamēr cilpas, uz cilpas.
SPEAKER 40: Do-kamēr cilpa?
ROB: Tātad atceries, ko es teicu iepriekš par mums ir tikai izmantojot do-kamēr
cilpas, lai saņemtu lietotāja ievadi.
Jūs nekad diezgan daudz nekad tos izmantot, lai kaut kas cits.
ALI: problēma ar do-kamēr cilpas ir tas kaut pirms tā pārbauda
nosacījums.
Tātad, tas varētu darīt kaut ko sliktu -
patīk, sāp -
darīt kaut ko, kas nav iespējams.
Tātad jūs vēlaties, lai pārbaudītu pirmās.
ROB: Ir gadījumi daudz kur var izmantot do-kamēr cilpas, bet cilvēki
nav gaidīt, lai jūs tos izmantot, ja vien tas ir lietotājam ievadi.
Tātad mēs esam izmantojuši mūsu do-kamēr cilpa, lai iegūtu i.
Cik reizes ir mūsu cilpa gatavojas vēlaties cilpa?
Mēs vēlamies, lai cilpa pār katru no i bitiem.
Cik bitus ir i?
SPEAKER 41: 32.
ALI: Jā.
ROB: Tātad ir 32 biti.
Mēs negribam teikt 32.
Mēs nevis gribu teikt sizeof -
kas, tu esi redzējis, ka klasē vēl?
ALI: Nē.
ROB: Kāpēc tas saka, lai izmantotu, ka -
sizeof (int) reizes 8 -
ALI: Tātad, sizeof ir -
>> SPEAKER 42: [dzirdams]
ALI: Interesanti.
Tātad, sizeof ir iebūvēts C funkcija, kur tas tikai stāsta jums
bitu skaitu -
ROB: Bytes.
ALI: Bytes, piedodiet -
baitu skaits, kas mainīgajam ir uzglabāt vērtību.
Tāpēc es domāju, ka viņš gāja pa klasē, tad, int ir 4 baiti varbūt.
Cool?
ROB: Bet jums nav nepieciešams zināt, ka int ir 4 baiti.
Jums vajadzētu būt iespējai pateikt -
Jums vajadzētu izmantot sizeof (int), lai iegūtu 4 baiti.
Un tas ir patiešām svarīgi, lai dažas lietas.
Int varētu būt 4 baiti.
Uz cita datora, int varētu būt 8 baiti.
Tātad jūsu programma nestrādās šajā datorā, jo jūs iekodēts 32
biti, kad uz šī datora notiek, ir 64 biti.
ALI: Tātad jums ir kopējais bitu skaits, kas jūs vēlaties, lai to mainītu.
Rob: Un starp baitu un mazliet atšķirība ir tā, ka
ir 8 bitu baits.
Tātad sizeof (int) atgriež 4 baiti, tad mums ir vairoties, ka
līdz 8, lai iegūtu 32 bitu.
>> ALI: Labi, tāpēc mēs zinām maksimumu un mēs zinām, mēs gribam iet no -
mēs gribam iet cauri visiem no tiem.
Tāpēc mēs vēlamies iet no 0 līdz numBits.
Lai vai kāds zina, kā rakstīt cilpa, kas?
Ikviens?
SPEAKER 43: [dzirdams]
ALI: Tātad jūs vēlaties, lai šķērsotu skaits i no 0. bit
pirmais bits, otrais mazliet, trešais mazliet, visu ceļu līdz numBits.
Max bitu skaits, kas var nokļūt.
ROB: Kas kopīgs cilpa mēs izmantojam to, ko mēs vēlamies darīt kaut x reizes?
ALI: Par.
Perfekta.
Tāpēc mums ir par.
Un tad mēs izveidot iterator, kas nav būs man.
ROB: j.
ALI: J = 0.
Tāpēc mēs sāksim ar 0.
Un tad mēs ejam, lai ir stāvoklī, lai pārliecinātos, kamēr jūs esat
iet caur to katru reizi -
[Interposing balsis]
ROB: j.
ALI: j ir mazāks nekā numBits.
Tāpēc mēs negribam darīt faktisko vienāds vienu, jo viņi numBits
kopā, un mēs sākam ar 0.
Tāpēc mēs esam patiešām nāksies -
SPEAKER 44: Ak.
ALI: Indeksi nebeidzas pie numBits mīnus 1.
ROB: Mēs marķēt biti 0-31, mums nav marķēt tos 1 līdz 32.
ALI: Un tad mēs ejam, lai pieauguma katru reizi pa vienam, jo ​​mēs vēlamies, lai
pārbaudīt katru vienu.
Tātad mēs iesim J + +.
>> SPEAKER 45: Kāpēc tu tā dari?
SPEAKER 46: Kāpēc tu ej cauri katru bitu?
ROB: Tātad mēs gribam iet caur katru bitu un -
Tāpēc pieņemsim, ka mums ir dažas numuru.
ALI: 68.
ROB: Mēs varam izmantot 68.
Tātad bināro būs 100.100.
Tātad šī ir iekšā I un mēs gribam iet pa katru no šiem bitiem.
Vai tas 1?
Drukāt 1.
Vai tas 0?
Drukāt 0.
Tad mēs ejam uz nākamo bit.
Vai tas 1?
Drukāt 1.
Ir 0?
Drukāt 0.
ALI: Atdzesē, labi.
Tagad mēs esam pie pareizā indeksu, ja tas mazliet ir.
Kā mēs varam pārbaudīt šo konkrēto vienu?
Pieņemsim, ka mēs esam pie j = 0, tāpēc mēs vēlamies, lai pārbaudītu 0 indeksu bit.
Tātad, šajā gadījumā, tas viens.
>> Tāpēc tagad, kā mēs iet par pārbaudītu - ak, tas būtu tas viens.
ROB: Jā.
ALI: Atvainojiet.
Kā mēs iet par pārbaudītu, ka vienu, kas nozīmē?
Kā mēs pārbaudīt, ja tas ir 0 vai 1?
Labi let's -
KLASES: Un 1?
ALI: Un?
Yeah.
ROB: Tātad pieņemsim, ka mums jau ir 1.
Tad šī &, tas atgriezīsies, vai tas bija 1 vai 0.
ALI: Tātad, mēs varam iet uz leju.
Un mēs varam darīt, kā jūs puiši teica, darīt un funkciju.
ROB: int -
Kā vēlos teikt -
Isone = i.
Un pirmo bit mēs gadās būt meklē, mēs darām I & 1.
Tagad to, ko mēs gatavojamies vēlamies & ko par otro bit?
SPEAKER 47: 2.
ROB: Jā, otrkārt, ka mēs esam gada 2.
ALI: Jūs pamanīsiet, ka 1 ir pārgājuši uz kreiso vienu.
Tātad mēs esam iemācījušies nevienu Bitu līmeņa operatoriem darīt šo funkciju?
ROB: nākamā -
ALI: Jā, labi, precīzi.
Tātad, tas ir pa kreisi maiņās.
Tā vietā, lai vienmēr pārbaudīt ar 1, mēs ejam, lai pārslēgtos to.
Un cik reizes mēs gatavojamies novirzīt to?
Ja mēs pārbaudītu 0. vienu, tad mēs ejam, lai to pārvietotu pa nullei.
Jā, tieši tā.
Tātad jūs atstāja novirzīt to, ko j.
Perfekta.
Tāpēc tagad mēs zinām -
mums ir šis int par, ja tas ir 1, un pēc tam -
tāpēc Rob ir sava veida krāpšanos šeit -
un tāpēc tagad viņš dodas uz priekšu un viņš vienkārši saka, ka, ja tas tiešām ir 1,
jo 1 novērtēts ar TRUE, tāpēc mums nav ko teikt ISF Isone vienāds ar 1 -
tāpēc, ja Isone, tad mēs drukāt 1, un citādi mēs drukāt 0.
>> ROB: Tātad mūsu programmai ir paredzēts vispārējs bug.
Nu, jautājumi par šo pirmo.
SPEAKER 48: Vai Jūs kādreiz nodot Isone iekšpusē četru ko daļēji un
tad ir tā novirzīt sevi kā pēdējo daļu?
Tātad Isone vienāds ar 1 un tad -
ROB: Jā, jūs varat.
Mēs varam tiešām liecina, ka reiz mēs noteikt bug, ka es esmu par to
apspriest ar jums visiem.
Paziņojums pasūtījumu mēs ejam pār lietām.
Ņemot vērā šo binārs atveidojums, mēs sākam ar 0. bit.
Ja tas ir 0, tad mēs drukāšanas -
labi, tas ir 0, tāpēc mēs poligrāfijas 0.
Tad mēs ejam uz otro bit.
Tā ir 0, tāpēc mēs drukāt 0.
Tad mēs ejam uz trešo bit.
Tā ir 1, tāpēc mēs drukāt 1.
ALI: Tātad tas iet atpakaļ.
Tātad, kā jūs guys liecina, ka mēs noteikt, ka un iet citu ceļu?
SPEAKER 49: [dzirdams]
ROB: Jā.
Tā vietā, lai iet no 0 līdz numBits, mēs iesim no numBits bitiem līdz 0.
ALI: Tātad [dzirdams]
vienmēr var iet citu ceļu.
ROB: NumBits mīnus 1, jo tas ir pēdējais nubmer -
ALI: Jo tas ir no 0 līdz 31.
Un tad mēs vienmēr pārliecinieties, ka tā ir lielāka par 0, tāpēc jums nav iet
pārāk tālu uz labo pusi.
Un tad jūs vienmēr atņemt 1 iet uz labo pusi.
>> ROB: Tāpēc tagad mums ir reverse cilpu, un skaits ir atpakaļ drukāšanai
pareizā veidā.
SPEAKER 50: Vai nav jums ir jāmaina Shift lieta pārāk?
ALI: tā nav.
ROB: Mēs darām to pašu precīzu darbību, izņemot tagad
apgrieztā secībā.
Tā vietā, lai dara to novirzot pa numBits mīnus 1, lai iegūtu visus šī
bit, nevis darīt, ka pagājušajā, mēs tikai to darīt vispirms.
Mainot šo up šeit, mēs mainīt secību viss
kas notiek iekšā.
Bet mēs nevēlamies mainīt to, kas notiek iekšā vispār.
ALI: Vai, ka jēga?
Apstrādes?
Labi, lai vai kāds cits ir kādi citi konceptuālas jautājumi?
ALI: Pirms mēs iedziļināties viņa punktā, kas ir -
ALI: Nu labi, labi iet.
Rob: Tā vietā, izmantojot J būs mūsu -
nevis izmantojot J vienmēr novirzīt par, piemēram, vienu kreisajā maiņās j, es domāju, ko
Jūs sakāt, ir patīk, lai j izmantot sevi.
Tāpēc j -
Es domāju, tas ir grūti - j = 1 << 31.
Vai tas, ko es gribu?
Es domāju, ka tas << 31.
j> = 1.
j >>, >> Isone, I & J -
tāpēc tagad nevis izmantojot -
ALI: Jūs esat pastāvīgi pārvietojas J vietā,
indekss, lai pārbaudītu to.
Tas nav tik slikti.
Mēs esam izmantojot līdzīga veida loģiku.
Tātad, ja jūs iet atpakaļ -
Ak, bet tas notiek to zaudēt.
Labi, jūs tikai gatavojas rakstīt to vēlreiz.
Ja pamanāt, ka mums ir 1 << j summu reizes, un mēs bijām
palielināšanai J katru reizi ar vienu porciju, bet šoreiz tā vietā
viņi dara mēriekārtas j augšā iekšpusē cilpa.
Tā vietā vienmēr virzās uz leju -
ROB: Pati pirmā atkārtojuma, lai cilpa, mums ir j ir 10000.
Nākamais atkārtojuma, lai cilpa ir 01.000.
Nākamais evolūcijas tas ir.
Un 1 tikai gatavojas glabāt pavairošanas leju, kamēr mēs hit ļoti
Tādēļ, ja tagad tas ir tas.
Nākamais, tad 1 gatavojas to stumtu off, un j vairs lielāks
par vai vienāds ar 1.
Es arī varētu nodot virs 0, pati atšķirība.
Un tad tas arī viss.
Jautājumi?
Yeah.
>> SPEAKER 51: [dzirdams]
ROB: Tāpēc, ka ir tāds pats kā -
tu esi redzējis J + = 3?
Tātad šis ir tas pats, kas 3 J = J +?
Jūs varat darīt, ka praktiski jebkuru operators C. Tātad j >> = 3 ir
vienāds ar j = j >> 3.
Lai strādā arī ar Bitu līmeņa operatoriem.
Un es nebūtu likts 31 šeit.
Man vajadzēja likt numBits - 1.
ALI: Yay, nav burvju numuri.
Labi, tas ir 04:00, lai gan, tādēļ, ja jūs guys ir iet - bet tas ir jēga?
Vai jums puiši ir kādi citi jautājumi?
Rob: Es arī gatavojas mest, jo, ja mēs vēlējāmies -
ir viņš apsprieda trīskāršo operators vispār?
ALI: Nē.
Tas ir labi.
ROB: Tātad, jūs varētu izpētīt to uz nākamo reizi.
ALI: Labi, tiešām?
Tagad jūs tikai parādot off.
Rob: Nē, tagad it's -
tas ir tas, ko saņem cilvēki interesē, un tagad tie būs iet skatīties uz to.
Tāpēc tagad, ka tas pats, vienā solī.
Tātad vispirms pārbaudiet, vai I & J 1?
Vai tā ir taisnība?
Ja tā, drukāt 1, cits, drukāt 0.
ALI: Bet to dara otrs veids ir pilnīgi fine, kā arī.
Tā ir tāda pati loģika.
Tātad tas nav kā viens ir -
ROB: Šajā brīdī, mēs varam atbrīvoties no tiem cirtaini bikšturi, jo tas ir tikai
viena līnija cilpa.
ALI: Labi, tāpēc tas, ka jēga?
Tas bija sava veida lēkt.
Bet tas bija tikai veida sintaksi, vairāk.
>> Cool?
Jebkādi citi jautājumi?
ROB: Nu labi.
ALI: Nu labi, forši.
Paldies par nāk uz sadaļu.