[Powered by Google Translate] Nate HARDISON: In die video op die binêre, ons wys hoe om verteenwoordig die versameling van heelgetalle, van nul tot met behulp van slegs die syfers nul en een. In hierdie video, gaan ons binêre notasie te gebruik Stel teks, briewe en so, sowel. Waarom sou ons die moeite om dit te doen? Wel, onder die kap, eintlik net 'n rekenaar nulle en ene, die binêre syfers verstaan, aangesien hierdie kan maklik verteenwoordig met elektromagnetiese dinge. Byvoorbeeld, dink van jou rekenaar se geheue soos 'n lang string van gloeilampe, waardeur elke gloeilamp verteenwoordig 'n nul as dit afgeskakel is, en 'n as dit is aangeskakel. In plaas van die gebruik van 'n klomp van die gloeilampe, sommige moderne geheue beteken dit die gebruik van kapasitore wat in besit wees van 'n lae hef 'n nul te stel en 'n hoë lading 'n een te verteenwoordig. Daar is ook ander tegnieke asook. In elk geval, om iets in die geheue op te slaan, moet ons skakel dit eers in iets wat eintlik kan wees verteenwoordig in die fisiese hardeware. So laat dink oor hoe ons kan verteenwoordig letters met binêre notasie. In Engels, ons het 26 letters in die alfabetiese, A, B, C, D, en so aan, deur Z. Ons kan toewys elkeen van hierdie 'n aantal, sê nul tot 25, en dan met behulp van binêre notasie, kan ons elke getal verteenwoordig as 'n volgorde van nulle en ene. Dit is nie te sleg nie. Maar, dit is nie genoeg sal wees. Met hierdie stelsel, kan ons nie werklik onderskei tussen boonste en kleinletters. As ons wil hê ons rekenaar in staat wees om te onderskei tussen die twee gevalle, dan moet ons 'n bykomende 26 nommers. En wat oor tydperke, kommas en ander leestekens? Op my sleutelbord, ek het 32 ​​van dié, met inbegrip van al die spesiale karakters soos die kappie en die ampersand. Dit is nie insluitend die syfer karakters, nul deur nege, want ons wil nog steeds in staat wees om in desimale getalle te tik notasie op die rekenaar, selfs as die rekenaar eintlik net verstaan ​​binêre notasie onder die kap. En uiteindelik, sal ons moet 'n spasie karakter te stel, sodat dat ons spasie balk werk. So uitzoeken hoe om teks te stel op die rekenaar neem 'n bietjie meer as wat ons aanvanklik gedink het. Verder, kom ons neem dan aan met ons eie enkodering skema om karakters voor te stel as getalle. Maar ons besluit om te enkodeer karakters onvermydelik sal wees arbitrêre, soos ons gesien het vroeër toe ons gepraat oor die gebruik van die getalle nul deur 25 om die letters te verteenwoordig 'n deur Z. Waarom nie gebruik 10 deur 35 sodat ons kan red nul deur nege vir die syfer karakters? Daar is geen werklike rede, ons kies net watter gelyk beste vir ons. Terug in die vroeë 1960's, was dit 'n werklike probleem. Ander rekenaar vervaardigers is met behulp van verskillende kodering skedule, en dit het kommunikasie tussen verskillende masjiene 'n baie moeilike taak. Die American National Standards Institute, ANSI, 'n komitee gevorm het om 'n gemeenskaplike skema te ontwikkel. En in 1963, die Amerikaanse Standaard Kode vir inligting Wisselaar, meer algemeen bekend as ASCII, gebore. ASCII is ontwerp as 'n sewe-bis kodering, wat beteken dat elke karakter word verteenwoordig deur 'n kombinasie van sewe nulle en ene. Met dié twee moontlike waardes, nul of een vir elke van die sewe bisse, is daar twee na die sewende of 128 karakters wat met die ASCII verteenwoordig word kodering skema. So 128 karakters klink soos 'n baie, reg? Wel, onthou dat daar 26 kleinletters in Engels, 'n ander 26 hoofletters, 10 syfer karakters, 32 leestekens en spesiale karakters, en een spasie karakter. Dit plaas ons op 95, so ons het nog 33 karakters dat ons kan voorstel. So, wat is oor? Wel, in die dae van die ontwikkeling van ASCII, telex masjiene, wat tikmasjiene wat gebruik word om boodskappe stuur oor 'n netwerk, was wydverspreid. En hierdie masjiene het bykomende karakters wat gebruik word om hulle beheer, byvoorbeeld, aan hulle vertel wanneer om te beweeg die druk kop af 'n lyn, die lyn voer of 'n nuwe lyn sleutel, wanneer om op te skuif na die linker kantlyn, die return, of eenvoudig terugkeer sleutel, en wanneer om terug te gaan 'n ruimte, back space karakter, en so aan. Hierdie karakters word beheer karakters genoem, en hulle vorm die res van die ASCII stel. So as ons kyk na 'n ASCII-tabel, sien ons dat die eerste 32 nommers, nul tot 31, word voorbehou vir die beheer karakters. Maar ons het net gesê dat daar 33 beheer karakters. Wat is die deal? Wel, die getal nul en 127, die eerste en die laaste van die ASCII stel, het spesiale bietjie patrone, alle nulle en alle kinders, onderskeidelik. Die ontwerpers van ASCII besluit dus om bewaar hierdie getalle vir ekstra spesiale karakters, naamlik die null karakter en die DEL karakter. Nul en DEL is bedoel vir papier tape redigering, wat gebruik word 'n gemeenskaplike manier van die stoor van data. Papier tape was letterlik net 'n lang strook papier, en by gereelde tussenposes op die band, wil jy punch gate data te stoor. Afhangende van die wydte van die band, sou elke kolom vyf, ses, sewe, of agt bisse te akkommodeer. 'N nul bietjie te stel, jy wil niks doen nie na die band, sou jy net laat 'n leë ruimte. Vir 'n bietjie, het jy pons 'n gaatjie. Die null karakter sou net 'n leë kolom verlaat, aandui alle nulle. En die DEL karakter sou pons 'n kolom vol gate deur jou tape. As 'n resultaat, kan jy die DEL karakter gebruik om te verwyder inligting. Stel jou voor die neem van 'n vol-verkiesing stembrief en dan pons die hele unpunched gate. Jy die stembrief ongeldig, want dit is onmoontlik om te vertel wat was die oorspronklike stemme. Terwyl die DEL karakter is nog steeds gebruik word, is die moderne Delete-sleutel, die null karakter het om gebruik te word as die beëindiging karakter vir C-stringe en n paar ander data formate. Jy kan weet dit as die agteroorskuinsstreep nul karakter, want dit is hoe ons stel dit op skrif. So terug na ons ASCII tabel. Na die eerste 32 beheer karakters kom die 95 drukbare karakters. Daar is 'n paar cool design besluite moeite werd hier praat. Eerste, die desimale syfer karakters, nul deur nege, stem ooreen met die nommers 48 tot 57, wat blyk alledaags totdat ons kyk na die getalle 48 deur 57 geskryf in binêre notasie. As ons dit doen, dan sien ons dat die syfer karakter, zero, stem ooreen met 0110000, een kaarte 0110001, twee 0110010, en so aan. Sien jy die patroon? Elke syfer karakter is verbind aan die ooreenstemmende ekwivalent in binêre notasie, voorafgegaan deur 011. Next up, sien jy dat die hoofletters begin op 65, met hoofletters A, maar die kleinletters begin nie tot 97. So is daar 32 spasies tussenin. Dit lyk weird. Hulle is slegs 26 letters in die alfabet. Hoekom verdeel hulle soos hierdie? Weereens, as ons kyk na die binêre voorstellings, kan ons sien 'n patroon. Hoofletter A word verteenwoordig deur 1000001, en onderkas a is verteenwoordig deur 1.100.001. Uppercase B word verteenwoordig deur 1000010, en kleinletter b verteenwoordig deur 1.100.010. Kan jy vertel wat gaan hier aan? Die bietjie wat is die tweede van links, in die twee aan die vyfdes, 32ths posisie, 0 vir al die hoofletters briewe, en 1 vir alle van die kleinletters. Dit beteken dat die omskakeling van hoofletters na onderkas, en omgekeerd, is 'n kwessie van 'n eenvoudige bietjie flip. So dit bring ons aan die einde van die ASCII-tabel. Kan jy dink aan enigiets wat ons vergeet het? Wel, wat oor die Spaanse enye, of die Grieks of Cyrilliese alfabet? En hoe oor die Chinese karakters? Daar is 'n baie wat uitgelaat uit ASCII. Het egter ander standaard genoem Unicode ontwikkel om al hierdie te dek karakters en nog baie meer. Maar dit is 'n onderwerp vir 'n ander tyd. My naam is Nate Hardison. Dit is CS50.