[Musiikki soi] DAVID J. MALAN: Okei. Tämä on CS50, ja tämä on viikon lopussa neljä. Ja yksi aiheista tänään on, että digitaalisen aineiston tutkintaan, taidetta toipumassa tietoa. Ja todellakin, vaikka olet keskellä nyt Rauhan Three ja Breakout, ensi viikolla, keskitytään Juuri tällä alalla. Joten yksi hienoimmista työpaikoista koskaan oli palasi tutkijakoulu, kun olin työskennellyt paikallisten Middlesex County syyttäjän toimisto, tekee tutkintaan toimi. Niin olennaisesti, Massachusetts Valtiollinen poliisi, toisinaan työskenneltäessä Tapauksille tuoda asioita, kuten kiintolevyt ja levykkeet ja muistikortit ja vastaavat. Ja he toimittavat ne minulle ja minun mentori, ja tavoitteenamme oli löytää todisteita, jos oli mitään, näitä median. Nyt olet ehkä nähnyt välähdyksiä Tämän maailman tutkintaan tiedotusvälineissä, televisio ja elokuvat. Mutta työ minulla oli, ja daresay että maailma, ei ole aivan kuin näkisit sen. Katsotaanpa katsomaan mitä Olet varmasti nähnyt. [VIDEOTOISTOSTA] -OK. Nyt, saada hyvä katsoa sinua. [Musiikki soi] -Pidä Sitä. Ajaa sen takaisin. Hetkinen. Mene oikealle. Tuolla. Jäätyä että. Full-screen. -OK. Jäätyä että. Tiukentaa ylös, että sinä? -Vector Kauppaa näillä kaveri takapyörä. -Zoom Sisään täällä tällä paikalla. -Kun Oikeat laitteet, Kuvaa voi suurentaa ja terävöittää. Mitä se on? -Se Tehostamisohjelma. Voitko selvää, että mihin tahansa? En tiedä. Katsotaan parantaa sitä. -Paranna § A6. Olen parannettu yksityiskohta, ja-- -Luulen On tarpeeksi parantaa. Vapauta se minun näytöllä. -I Parannettu pohdintaa hänen silmässä. Piiloudutaan ajaa tätä kautta kuvanmuokkausteknologia. -Edgar, Voit lisätä tämän? -Hang Päälle. -Olen Työskennelleet tämän pohdintaa. Tuolla on joku heijastus. -Reflection. -Siellä Heijastaa miehen kasvot. P heijastus! Tuolla on pohdintaa. -Zoom Sisään peiliin. Näet pohdintaa. Voitko parantaa kuvan täältä? Voitko parantaa sitä? Voitko parantaa sitä? -Voimmeko Parantaa tätä? Voitko parantaa sitä? Odota hetki toinen. Minä parantaa. -Zoom Vuonna oveen. -Times 10. -Zoom. -Siirrä Sisään. -Enemmän. Odota, lopeta. Lopeta. -Pause Sitä. -Rotate Meille 75 astetta ympäri pystysuoran, kiitos. Lopeta. Mene takaisin osa siitä ovesta. -Sain Kuva tehostajana, joka voi bittikartta? Ehkä voimme käyttää Pradeep Singh menetelmä kurkistaa ikkunoita. P ohjelmisto on uusinta. P ominaisarvo on pois päältä. -Kun Oikea yhdistelmä algorithms-- -Hän Otettu valaistus algoritmeja seuraavalle tasolle, ja voin käyttää niitä parantaa tämän valokuvan. -Lock Päälle ja suurentaa z-akselin. -Paranna. Parantaa. -Paranna. -Freeze Ja parantaa. [END VIDEOTOISTOSTA] DAVID J. MALAN: Joten ne ovat kaikki sanat, mutta ne eivät olleet käytetään lauseita oikein. Ja todellakin tulevaisuudessa, milloin tahansa, kiitos, kuulet jonkun sanovan sanan, "Parantaa", hihittää vain vähän. Koska kun yrität parantaa, Esimerkiksi tämä on mitä tapahtuu. Joten tässä on upea kuva. Tämä on CS50 oma Daven. Ja olettaa, että halusimme painopiste on pilke silmäkulmassa, tai heijastus pahis, joka oli selvästi vangiksi valvontakamera. Tämä on mitä tapahtuu, kun suurennat kuvan, että on vain äärellinen määrä bittien liittyy siihen. Eli mitä saisit. Ja todellakin, vuonna Daven silmään on vaan neljä, ehkä kuusi pikseliä että säveltää mitä oli kimaltelevan siellä. Joten Harjoitus neljä on lopulta voit tutustua maailmaan, erityisesti luonteeltaan jotain kutsumme tiedoston I / O, jossa i / o on vain hieno tapa sanomalla tulon ja lähdön. Niin tähän mennessä kaikki vuorovaikutukset meillä on ollut tietokoneen kanssa ovat olleet pääosin kanssa näppäimistö ja näyttö, mutta ei niinkään kiintolevy, tai tiedostojen tallentamista niiden lisäksi, joita itse kirjoittaa. Ohjelmat ovat toistaiseksi ei ollut luomassa, ja säästää, ja päivittää omia tiedostojaan. No, mikä tiedosto? No, jotain JPEG. Tämä on kuva saatat on tai ladata Facebook, tai nähdä kaikkialla internetissä. Todellakin, että kuva me vain saha Daven oli JPEG. Ja mikä mielenkiintoista noin tiedostoja, kuten JPEG on se, että ne voidaan tunnistaa, tyypillisesti, tietyt bittikuvioina. Toisin sanoen, mikä on se, että erottaa JPEG GIF alkaen ping Word Asiakirjan Excel-tiedoston? No, se on vain erilainen bittikuvioina. Ja näiden eri kuviot ovat Yleensä alussa kyseiset tiedostot. Niin, että kun tietokone avataan Word doc, tai kun tietokone avataan JPEG, se näyttää tyypillisesti Ensimmäinen useita bittejä tiedoston. Ja jos se tunnistaa kuvion, se sanoo, oi, tämä on kuva. Saanen tuoda sen käyttäjälle graafinen. Tai, oi, tämä näyttää Word doc. Haluan näyttää sen käyttäjälle essee. Joten esimerkiksi JPEG, se kääntyy pois, ovat varsin kehittyneitä alla huppu. Mutta kolme ensimmäistä tavua melkein joka JPEG aloittaa nämä kolme numeroa. Niin tavu nolla, yksi ja kaksi ovat, ja melkein joka JPEG, 255, niin numero 216, sitten numero 255. Ja mitä voit alkaa tehdä ensi viikolla on todella tönäisi alla huppu tiedostoja, kuten JPEG ja kuten bittikarttatiedostot, ja nähdä mikä on aina ollut siellä niin kauan koska olet käyttänyt tietokonetta. Mutta mitä siellä ei ole tyypillisesti kirjoitettu kuten desimaalilukuja näin. Tietotekniikan tutkijoita ei taipumus puhua desimaalin. He eivät todellakaan puhu binary. Tyypillisesti, kun haluamme ilmaista numeroita, me todella käyttää heksadesimaali-, joka ehkä muistatte alkaen vaikkapa Harjoitus Yksi, joka haastoi miettimään eri järjestelmää. Me, tietenkin, ovat tuttuja Desimaaliluvulliset, nollasta yhdeksään. Puhuimme binary. Ja meillä ei oikeastaan ​​ole käyttää niin paljon täällä ulos, sillä tietokoneet käyttävät sitä. Mutta ohjelmoijat hyvin Usein, mutta ei aina, käyttää heksadesimaali-, mikä tarkoittaa vain sitä, Sinulla on 16 kirjainta teidän aakkoset, toisin kuin kaksi tai 10. Joten miten voit laskea korkeamman kuin yhdeksän heksadesimaali-? Menet 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, , b, c, d, e, f, vain sopimuksen mukaan. Mutta mitä tärkeintä on, että jokainen Näiden on yksi symboli. Ei ole 10. Ei ole 11, sinänsä, koska kukin teidän numeroa, ihan niinkuin desimaalin ja aivan kuten binary, pitäisi vain olla yksi merkki, jota yleissopimus. Joten silloin on aakkosten meillä käytössämme heksadesimaaliluvussa. Joten mitä JPEG näyttää jos oli kirjoittaa ulos ensimmäisen kolmen tavut eivät desimaalin vaan, Esimerkiksi heksadesimaali-? Ja miksi hex jopa kaikki, että hyödyllinen? No, vilkaista esimerkki. Joten jos kirjoitan ulos bittien edustavat nämä desimaalin numbers-- tämä saattaa olla hieman ruosteessa nyt muutaman viikon takaisin, mutta vasen ja oikea on melko helppoa. 255 oli suurin määrä me voisi edustaa kahdeksan bittiä. Se oli kaikki ykkösiä. Joten ainoa, joka on lievästi mielenkiintoista on keskimmäinen. Ja jos sellaista tehdä ulos matematiikka, voit päätellä, että todellakin, että kuvio yhden ja nollat ​​edustaa 216. Joten vain määrätä, nyt, että ne ovat oikein. Mutta miksi tämä mielenkiintoinen? No, tavu, tietenkin, on kahdeksan bittiä. Ja käy ilmi, että jos luulet tavun kaksi paloina neljä bittiä, näin. Saanen lisätä tilaa. Joten ennen, jälkeen. Olen vain lisännyt joitakin valkoinen tila visualisointi vuoksi täällä. Miten voi nyt edustamme, vaikkapa heksadesimaali- kukin quad bittejä, jokaisen sarjan neljä bittiä? Niinpä esimerkiksi, vasemmalla nyt meillä on 1111 binary. Mikä on tuo numero kymmenjärjestelmässä jos et ulos matematiikka? Sinulla on niitä paikka, kaksittain paikka, nelosta paikka, ja kahdeksikkoa paikka. Yleisö: 15. DAVID J. MALAN: On 15. Joten jos teemme kahdeksan plus neljä plus kaksi plus yksi, saamme 15. Niin voisin kirjoittaa 15 alla 1111, mutta pointti tässä ei heksadesimaali-, ei desimaalia. Niin kirjoittamisen sijaan alas 15, 1-5, Aion kirjoittaa, että hex, jotka, jos luulet takaisin, jos sinulla on nolla-F, mikä on 15 tulee? Yleisö: f. DAVID J. MALAN: Eli se kääntyy pois se on f. Ja voit työskennellä että ulos sanomalla, hyvin, jos on 10, niin OK, f on 15. Joten todellakin, voisimme kirjoittaa näitä samoja numeroita kuin ff. Ja sitten jos teemme vähän matematiikkaa, me päätellä, että se on d. Kahdeksan on melko helppoa, koska me on yksi kasia paikassa. Ja sitten meillä on vielä pari e e n. Joten mitä ihmiset tapana tehdä sopimuksen mukaan kun he käyttävät heksadesimaalista on ne vain Kirjoitan tätä hieman lyhyemmin, päästä eroon useimmat että valkoinen tila. Ja vain olla erittäin selväksi lukijoille, että tämä on heksadesimaali-, yksinkertainen yleissopimus keskuudessa Ihmisillä kirjoitat nolla x, jolla ei ole muuta merkitystä kuin visuaalinen tunniste, tässä tulee hex numero. Ja sitten, laitat kaksi numeroa, f f tässä tapauksessa sitten d, niin f f. Niin pitkän tarinan lyhyesti, heksadesimaali- vain taipumus olla kätevä, koska sen numeroa, nolla-F, täydellisesti linjat kanssa rakenteessa neljä bittiä. Joten jos sinulla on kaksi heksadesimaaliyksikön, nolla-F, uudestaan ​​ja uudestaan, joka antaa sinulle täydellisesti kahdeksan bittiä tai yksi tavu. Joten siksi se pyrkii olla tavanomaisesti hyödyllinen. Ei mitään älyllistä sisältö todella pidemmälle, muu kuin sen todellinen hyödyllisyys. Nyt JPEG eivät ole ainoa tiedostomuodot grafiikka. Saatat muistaa, että on olemassa tiedostoja, kuten tässä maailmassa, ainakin muutama vuosi sitten. Joten tämä oli oikeastaan asennettu Windows XP miljooniin tietokoneisiin ympäri maailmaa. Ja tämä oli bittikarttatiedostoa, BMP. Ja bittikarttatiedostoa, niin näet seuraavan viikolla, vain tarkoittaa pistekuvion pikselit niitä kutsutaan, kartta bittiä, todella. Niin mitä mielenkiintoista, vaikka, tästä tiedostomuoto, BMP, on että alla huppu, se on enemmän kuin vain kolme tavua jotka muodostavat sen otsikkoa, niin puhua, muutaman ensimmäisen puree. Se todella näyttää hieman monimutkainen ensi silmäyksellä. Ja näet tämän P asetettu. Ja saada jotain Erityisesti ulos tästä nyt ei ole niin tärkeä, koska juuri se seikka, että alussa jokainen bittikartta tiedosto, graafisessa muodossa, siellä on koko joukko numeroita. Nyt Microsoft, Kirjailija tämän muodon, yleensä soittaa nämä asioita ei ints ja merkkiä ja kelluu mutta sanoja ja d sanat ja pitkät ja tavua. Joten he ovat vain erilaiset tiedot. Ne ovat eri nimiä sama asia. Mutta huomaat, että P asettanut neljä. Mutta tämä on vain sanoa, että jos ihminen kaksoisnapsauttaa joitakin BMP tiedosto hänen tai hänen kiintolevyn, ja ikkuna avautuu ylös osoittaa hänelle, että kuva, että tapahtui, koska toiminta järjestelmä oletettavasti huomannut paitsi .BMP tiedostopääte tiedoston nimi, mutta myös se, että on olemassa jokin yleissopimus ohjeeseen bittien aivan alussa Kyseisen bittikarttatiedosto. Mutta katsotaanpa nyt keskittyä niin monimutkainen tiedoston, mutta sen sijaan jotain tällaista. Oletetaan täällä GEdit, I vain alku on ohjelma, joka on melko yksinkertainen. Minulla on myös alkuun asti. Nyt minulla on # include "structs.h", mutta Palaan tähän hetken kuluttua. Mutta tästä on hyötyä nyt. Niin tämä on ohjelma että menee toteuttaa kuten rekisterinpitäjän tietokantaan. Joten tietokanta opiskelijoita, ja jokainen opiskelija maailmassa on nimi ja talon ja luultavasti joidenkin muita juttuja, mutta me pitää se yksinkertainen. Jokaisella opiskelijalla on nimi ja talon. Joten jos halusin kirjoittaa ohjelmaa, jonka tarkoitus elämässä oli vain kerrata päässä nolla jopa kolme, jos on kolme opiskelijaa Harvardin yliopistossa. Ja haluan vain saada käyttäen GetString, opiskelijan nimi ja talon, ja sitten vain tulostaa ne pois. Tämä on tavallaan kuin viikko Yksi, Viikko Kaksi kamaa nyt, jos haluan vain varten silmukka tai jotain. Ja haluan soittaa GetString muutaman kertaa, ja sitten tulostaa f muutaman kerran. Joten miten voisin tehdä tämän, vaikka, kun sekä nimi ja talon ovat mukana jokaiselle opiskelijalle? Joten minun ensimmäinen vaisto pitää olla tehdä jotain tällaista. Voisin ensin sanoa, hyvin, anna minulle, sanoa, Merkkijonotaulukko nimitelty. Ja en halua hardcode kolme täällä. Mitä haluan laittaa sinne? Niin opiskelijoita, koska se on vain jatkuva julisti huipulla, juuri niin minulla ei ole hardcode kolme useissa paikoissa. Näin voin vaihtaa sen yhteen paikkaan, ja se vaikuttaa muutoksen kaikkialla. Ja sitten, voisin tehdä merkkijono taloa opiskelijoille. Ja nyt voisin tehdä jotain for (int i = 0; i