[Tónlist spila] DAVID J. MALAN: Allt í lagi. Þetta er CS50, og þetta er endir viku Four. Og einn af the efni í dag er að á stafrænu réttar, listin að jafna upplýsingar. Og reyndar, jafnvel þótt þú ert í the miðja núna friðar á þriggja og Breakout, í næstu viku, áhersla verður lögð á einmitt þetta lén. Svo einn af the kælir störf sem ég alltaf hafði var aftur í framhaldsnám, þegar ég var að vinna fyrir the heimamaður Middlesex County District Attorney er skrifstofa, gera réttar vinna. Svo í raun, Massachusetts State Police, stundum, þegar vinna á málum myndi koma í hlutum eins og harða diska og disklingadrifið og minniskort og þess háttar. Og þeir myndu afhenda þau mér og lærifaðir minn, og markmið okkar var að finna vísbendingar, ef það væri einhver á þessum miðlum. Nú, þú gætir hafa séð fagurt af þessum heimi réttar í fjölmiðlum, sjónvarpi og kvikmyndum. En starfið sem ég hafði, og eflaust að heimurinn, er ekki alveg eins og þú myndir sjá það. Við skulum taka a líta á það sem þú hefur sennilega séð. [Vídeó spilun] -OK. Nú, við skulum fá gott að líta á þig. [Tónlist spila] -Hold Það. Hlaupa til baka. -Bíddu. Fara til hægri. -Það. Frysta það. -Full-Skjár. -OK. Frysta það. -Tighten Upp á það, munt þú? -Vector Í á sem strákur frá bak hjólinu. -Zoom Í hérna á þessum stað. -Með Réttum búnaði, mynd má stækka og skerpti. Hvað er það? -Það Er aukahlutur program. Má ég ljóst að upp eitthvað? Ég veit ekki. Við skulum auka það. -Enhance Kafli A6. Ég aukið smáatriði, and-- Ég held að það er nóg til að auka. Losa það á skjánum mínum. Ég aukið spegilmynd í auga hennar. -Hringjum Er keyrt þetta í gegnum vídeó aukahluti. -Edgar Er hægt að auka þetta? -Hang Á. -Ég Hef verið að vinna á þessum íhugunar. Spegilmynd -Er einhvers. -Reflection. -Það Er spegilmynd af andliti mannsins. -The Spegilmynd! -Það Er spegilmynd. -Zoom Inn á spegil. Þú getur séð spegilmynd. Má ég bæta ímynd hér? Má ég bæta það? Má ég bæta það? Megum við auka þetta? Má ég bæta það? -Hold Á sekúndu. Ég auka. -Zoom Inn á dyrnar. -Times 10. -Zoom. -Til Að færa inn. -More. -Bíddu, Hætta. -Stop. -Pause Það. -Rotate Okkur 75 gráður um lóðrétt, vinsamlegast. -Stop. Fara til baka í hálfu um dyrnar aftur. -Got Mynd eyki sem getur punktamynd? -Kannski Við getum notað Pradeep Singh Aðferð til að sjá í gluggum. -The hugbúnaður er ástand af the list. -The eigingildið er slökkt. -Með Hægri samsetning algorithms-- Tekið lýsing -Hann reiknirit til næsta stig, og ég get notað þær í auka þessa mynd. -Lock Á og stækka z-ásinn. -Enhance. Auka. -Enhance. -Freeze Og auka. [END vídeó spilun] DAVID J. MALAN: Svo þeir eru öll orð, en þeir voru ekki notað í setningum rétt. Og reyndar í framtíðinni, hvenær sem er, vinsamlegast, þú heyrir einhvern segja orðið, "Auka" chuckle bara svolítið. Vegna þess að þegar þú ert að reyna að auka, til dæmis, þetta er það sem gerist. Svo hér er heillandi mynd. Þetta er eigin Daven CS50 er. Og geri ráð fyrir að við vildum áherslur í á TWINKLE í auga hans, eða spegilmynd af slæmur strákur sem var greinilega tekin af öryggi myndavél. Þetta er það sem gerist þegar þú zoom í á myndinni sem hefur aðeins endanlegri fjölda bita í tengslum við það. Það er það sem þú vilt fá. Og reyndar, í auga Daven er er heldur fjórir, kannski sex pixlar að semja nákvæmlega hvað var Glimmering þar. Svo Vandamál Set Fjögurra mun að lokum hafa þú kanna heiminn, sérstaklega með eðli eitthvað Við köllum skrá I / O, þar I / O er bara fínt leið til að sagði inntak og úttak. Svo hingað til, allar milliverkanir Við höfum haft með tölvu hafa að mestu verið með þínum lyklaborð og skjár, en ekki svo mikið með harða diskinn, eða vistun skráa utan þær sem þú sjálfur skrifa. Áætlanir þínar svona langt hafa ekki verið að búa til, og sparnaður, og uppfæra eigin skrár sínar. Jæja, hvað er skrá? Jæja, eitthvað eins og JPEG. Þetta er mynd sem þú gætir hafa eða senda á Facebook eða sjá hvar á vefnum. Reyndar, að mynd við bara sá um Daven var JPEG. Og hvað er áhugavert um skrám eins JPEG er að þeir geta verið greind, yfirleitt, með ákveðnum mynstrum af bitum. Í öðrum orðum, það er það sem greinir á JPEG frá GIF frá Smellur frá Word skjal frá Excel skrá? Jæja, það er bara öðruvísi mynstur bita. Og þessi mismunandi mynstur eru venjulega við upphaf þessara skráa. Þannig að þegar tölvan þín opnar Word doc, eða þegar tölvan opnar JPEG, það lítur yfirleitt á að Fyrstu nokkur bitar í skránni. Og ef það viðurkennir munstur, það segir, ó, þetta er mynd. Leyfðu mér að sýna það að notandi sem grafík. Eða, ó, þetta lítur út eins og Word doc. Leyfðu mér að sýna hana til notandi sem ritgerð. Svo til dæmis, JPEG, það kemur í ljós, eru nokkuð háþróuð undir hetta. En fyrstu þrjú bæti mest á hverjum JPEG byrjar með þessum þremur tölum. Svo bæti núll, einn, og tveir eru í mest á hverjum JPEG, 255 og svo númerið 216, þá er fjöldi 255. Og það sem þú munt vera fær um að byrja að gera í næstu viku er í raun poking undir hetta skráa eins JPEG og eins punktamynd skrá, og sjá hvað er alltaf verið þar eins lengi eins og þú hafir verið að nota tölvuna. En hvað er það er ekki venjulega skrifað eins aukastaf númer eins og þetta. Tölvunarfræðingar ekki hafa tilhneigingu til að tala í aukastaf. Þeir gera ekki raunverulega tala í tvöfaldur. Venjulega, þegar við viljum til að tjá tölur, við notum í raun og veru sextánskur, sem þú getur muna frá, segja, Heimadæmi Einn, sem áskorun þú að hugsa um mismunandi kerfi. Við, að sjálfsögðu, ég þekki með aukastaf, núll til níu. Við ræddum um tvöfaldur. Og við gerum í raun ekki hafa að nota það mikið hér á út, vegna þess að tölvur vilja nota það. En forritarar munu mjög oft, en ekki alltaf, nota sextánskur, sem bara þýðir þú ert 16 stafi í stafrófinu þinni, öfugt við tvo eða 10. Svo hvernig gera telja að þú hærri en níu í sextánskur? Hægt fara 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, bara með venju. En hvað er lykillinn er að hver af þessum er einn tákn. Það er engin 10. Það er engin 11, í sjálfu sér, vegna þess að hvert með tölustöfunum þínum, rétt eins og í aukastaf og rétt eins og í tvöfaldur, ætti bara vera einn staf, því venju. Svo að þá er stafrófið sem við höfum til ráðstöfunar fyrir sextánskur. Svo hvaða hjartarskinn a JPEG líta út ef þú voru að skrifa út þá fyrstu þrjú bæti ekki eins aukastaf en til dæmis, eins og sextánskur? Og hvers vegna er álög jafnvel allt sem að gagni? Jæja, a fljótur líta á dæmi. Þannig að ef ég skrifa út bits sem tákna þessar aukastaf Numbers þetta gæti verið smá ryðgaður nú frá nokkrum vikum til baka, en vinstri einn og rétt sem eru nokkuð auðvelt. 255 var stærsta númerið sem við gæti táknað með átta bitum. Það var allt sjálfur. Svo eina sem er mildilega áhugavert er miðja einn. Og ef þú gerir svona út stærðfræði, muntu ráða að, örugglega, að mynstur í einum og núll táknar 216. Svo skulum kveða bara fyrir nú að þetta eru réttar. En af hverju er þetta áhugavert? Jæja, bæti, að sjálfsögðu, er átta bitar. Og það kemur í ljós að ef þú heldur af bæti sem tveimur klumpur af fjórum bitum, eins og þetta. Leyfðu mér að bæta bara smá pláss. Svo áður, eftir. Ég hef bara bætt við nokkrum hvítt rúm fyrir sakir visualization er hér. Hvernig gætum við tákna nú í, segja, sextánskur hvert quad bita, hvert sett af fjórum bitum? Svo til dæmis, á vinstri nú höfum við 1111 í tvöfaldur. Hvað er að tala í aukastaf, ef þú gera út stærðfræði? Þú hefur sjálfur stað, twos stað, sem Fours stað, og eights stað. Áhorfendur: 15. DAVID J. MALAN: Það er 15. Þannig að ef við gerum átta plús fjórir plús tveir plús einn, fáum við 15. Svo ég gæti skrifað niður 15 hér 1111, en allt lið hér er sextánskur, ekki aukastaf. Svo í stað þess að skrifa niður 15, 1-5, Ég ætla að skrifa það í álög, sem ef þú hugsa til baka, ef þú ert núll í f, hvað er 15 að fara að vera? Áhorfendur: f. DAVID J. MALAN: Svo kemur í ljós að það er f. Og þú getur unnið það út með því að segja, vel, ef a er 10, þá f er í lagi 15. Svo reyndar gætum við umrita þetta sama mengi af tölum sem f f. Og þá ef við gerum smá af stærðfræði, Við munum ráða að það er d. Átta er frekar auðvelt, vegna þess að við hafa einn í eights stað. Og þá höfum við a par fleiri m m er. Svo hvað menn hafa tilhneigingu til að gera með samningnum þegar þeir nota sextánskur er þeir bara skrifa þetta svolítið meira succinctly, að losna við mest af þessu hvíta rými. Og bara til að vera frábær ljóst að lesendur að þetta er sextánskur, einfalt samningur milli menn er þú skrifar núll x, sem hefur enga merkingu aðra en sjónræn auðkenni á, hér kemur álög tala. Og þá, setja þér tvo tölustafi, f f-í þessu tilfelli, þá d a, þá f-f. Svo löng saga stutt, sextánskur tilhneigingu bara til að vera gagnleg vegna þess að hver af sínum tölustafir, núll í f, fullkomlega línur upp með mynstur af fjórum bitum. Svo ef þú ert með tvær sextánskur tölustafir, núll í F, aftur og aftur, sem gefur þér fullkomlega átta bitar eða eitt bæti. Svo er það hvers vegna það hefur tilhneigingu til að vera á hefðbundinn gagnlegt. Það er engin vitsmunalegum efni í raun umfram það, önnur en raun gagnsemi hans. Nú JPEG eru ekki aðeins skrá snið fyrir grafík. Þú gætir muna að það eru skrár eins og þetta í heiminum, að minnsta kosti frá nokkrum árum. Þannig að þetta var í raun sett í Windows XP á milljónum tölvum um allan heim. Og þetta var punktamynd skrá, BMP. Og punktamynd skrá, eins og þú munt sjá næsta viku, bara þýðir mynstri punkta, pixlar sem þeir eru kallaðir, a kort á bita, virkilega. Svo er það áhugavert, þó, um þetta skráarsnið, BMP, er að undir hetta, það hefur meira en bara þrjú bæti að semja haus hennar, svo að tala, fyrstu bit. Það lítur í raun lítið flókið við fyrstu sýn. Og þú munt sjá þetta í P setja. Og fá eitthvað einkum út af þessu núna er ekki svo mikilvægt, eins og bara staðreynd að í upphafi hvers punktamynd skrá, myndrænt form, það er allt fullt af tölum. Nú Microsoft, höfundur þessarar sniði, hefur tilhneigingu til að kalla þá hlutir ekki ints og stafir og flýtur en orð og d orð og þráir og bæti. Svo þeir eru bara mismunandi gögn gerðum. Þeir eru mismunandi nöfn fyrir sama. En þú munt sjá að í P Set Four. En þetta er aðeins að segja að ef manneskju tvöfaldur-smellur einhvers BMP skrá á hans eða harður ökuferð hennar, og opnast upp sýna honum eða henni að mynd, það gerðist vegna þess að rekstur kerfi væntanlega tekið eftir ekki aðeins að .BMP skrá eftirnafn í skrá nafn, en einnig sú staðreynd að það er einhver venju að mynstri bitum í upphafi þeirrar punktamynd skrá. En við skulum einbeita nú á svo flókið skrá, en í staðinn á eitthvað eins og þetta. Segjum hér í gedit, ég bara byrjunina um forrit sem er frekar einfalt. Ég hef fengið nokkrar nær allt ofan. Nú hef ég #include "structs.h" en Ég kem aftur til það í smá stund. En þetta er gagnlegt fyrir nú. Svo er þetta forrit það er að fara að framkvæma eins gagnagrunni skrásetjari. Svo gagnagrunni nemenda, og sérhver nemandi í heimi hefur nafn og hús og sennilega sumir önnur efni, en við munum halda það einfalt. Sérhver nemandi hefur nafn og hús. Þannig að ef ég vildi til að skrifa forrit sem tilgangur í lífinu var bara að kunnugt frá núll á allt að þremur, ef það er þremur nemendum við Harvard háskóla. Og ég vil bara að fá, með því að nota GetString, nafn hvers nemanda og hús, og þá bara prenta þær út. Þetta er tegund af eins og viku Einn, vika Tveir dót núna, þar sem ég vil bara fyrir lykkja eða eitthvað svoleiðis. Og ég vil kalla GetString nokkrar sinnum, og þá prenta m nokkrum sinnum. Svo hvernig gæti ég gert þetta, þó, þegar bæði nafn og hús taka þátt fyrir hvern nemanda? Svo gæti Fyrsta eðlishvöt mín vera að gera eitthvað eins og this. Ég gæti fyrst sagt, vel, gefa mér, segja, fjölbreytta strengi kallast nöfn. Og ég vil ekki hardcode þrjú hér. Hvað vil ég að setja það? Svo NEMENDUR, því það er bara fasti lýst efst, bara svo að ég þurfi ekki að hardcode þrír í mörgum stöðum. Þannig, ég get breytt henni eitt sæti, og það hefur áhrif á breytingu allstaðar. Og þá gæti ég gert band hús NEMENDA. Og nú, gæti ég gert eitthvað eins fyrir (int i = 0; i