[Powered by Google Translate] NATE Hardison: In de video op binaire, we zien hoe
vertegenwoordigen de verzameling gehele getallen van nul tot,
met alleen de cijfers nul en een.
In deze video gaan we binaire notatie te gebruiken om
vertegenwoordigen tekst, letters en dergelijke, ook.
>> Waarom zouden we de moeite om dit te doen?
Nou ja, onder de motorkap, een computer pas echt
begrijpt nullen en enen, de binaire getallen, aangezien deze
kan gemakkelijk worden weergegeven met elektromagnetische dingen.
>> Denk bijvoorbeeld van het geheugen van uw computer als een lange
reeks van gloeilampen, waarbij elke individuele lamp
vertegenwoordigt een nul als het uitgeschakeld, en een een
als het is ingeschakeld.
In plaats van een bos van gloeilampen, sommige moderne
geheugen heeft dit met behulp van condensatoren met een lage vasthouden
in rekening brengen van een nul en een hoge kosten zijn
een een vertegenwoordigen.
>> Er zijn andere technieken.
Toch om iets te slaan, moeten we
eerst omzetten in iets dat daadwerkelijk kan worden
vertegenwoordigd in de fysieke hardware.
Dus laten we nadenken over hoe we zouden kunnen letters staan ​​met
binaire notatie.
In het Engels, we hebben 26 letters in het alfabet, A,
>> B, C, D, en zo verder tot en met Z. We kunnen toewijzen elk van
deze een aantal, zeg nul tot 25, en vervolgens met behulp van
binaire notatie, kunnen we elk nummer voor te stellen als een
opeenvolging van nullen en enen.
Dat is niet al te slecht.
Maar dat is niet genoeg zal zijn.
Met dit systeem kunnen we niet echt onderscheid maken tussen
hoofdletters en kleine letters.
Als we willen dat onze computer in staat zijn om onderscheid te maken tussen
de twee zaken, dan moeten we een extra 26 nummers.
En wat te denken van punten, komma's, en
andere leestekens?
>> Op mijn toetsenbord, ik heb 32 van die, met inbegrip van alle
speciale tekens zoals de dakje en het en-teken.
Dat is exclusief de cijfers personages, nul tot negen,
omdat we willen nog steeds in staat zijn om getallen te typen in het decimale
notatie op de computer, zelfs als de computer enige echt
begrijpt binaire notatie onder de motorkap.
>> En tenslotte, zullen we dus moeten een spatie vertegenwoordigen
dat onze spatiebalk werkt.
Dus uitzoeken hoe tekst weer te geven op de computer
duurt een beetje meer dan we op het eerste gedacht hebben.
Daarnaast neem aan dat we dan komen met onze eigen codering
regeling om tekens te vertegenwoordigen als getallen.
Maar we besluiten om te coderen karakters zal onvermijdelijk
willekeurig, zoals we eerder zagen toen we spraken over het gebruik van de
nummers nul tot en met 25 van de letters staan ​​voor A
tot en met Z. Waarom niet 10 dus gebruik tot en met 35 die we kunnen besparen
nul tot en met negen voor het cijfer personages?
>> Er is geen echte reden, we kozen wat leek
beste voor ons is.
Terug in de vroege jaren 1960, was dit een echt probleem.
Verschillende computerfabrikanten werden met behulp van
verschillende coderingsschema's, en dit maakte communicatie
tussen verschillende machines een zeer moeilijke taak.
Het American National Standards Institute, ANSI,
vormden een commissie om een ​​gemeenschappelijke regeling te ontwikkelen.
En in 1963, de American Standard Code for Information
Interchange, beter bekend als ASCII, werd geboren.
>> ASCII is ontworpen als een zeven-bit codering, die
betekent dat ieder teken gerepresenteerd door een combinatie
zeven nullen en enen.
Met deze twee mogelijke waarden nul of een voor elk
van de zeven bits, zijn er twee de zevende of 128
karakters die worden weergegeven met de ASCII
coderen regeling.
Dus 128 tekens klinkt als veel, toch?
Nou, bedenk dan dat er zijn 26 kleine letters in
Engels, nog eens 26 hoofdletters, 10-cijferige karakters,
32 leestekens en speciale tekens,
en een spatie.
>> Dat brengt ons op 95, dus we hebben nog 33 tekens die we
kan vertegenwoordigen.
>> Dus wat blijft er over?
Nou, in de dagen van de ontwikkeling van ASCII, telex
machines, die schrijfmachines die worden gebruikt om
berichten versturen via een netwerk, werden op grote schaal.
En deze machines hadden extra tekens gebruikt om
controle vallen, bijvoorbeeld om hen te vertellen wanneer te bewegen de
afdrukken hoofd naar beneden een lijn, de line feed of nieuwe lijntoets,
wanneer om naar de linkermarge, de carriage return,
of gewoon terug toets, en wanneer te gaan een plaats terug, de
backspace karakter, enzovoort.
>> Deze tekens worden genoemd controle karakters, en zij
vormen de rest van de set ASCII.
Dus als we kijken naar een ASCII-tabel, zien we dat de eerste
32 nummers, nul tot en met 31, zijn gereserveerd voor de controle
tekens.
Maar we zojuist hebben gezegd dat er 33 controle karakters.
Wat is de deal?
En het getal nul en 127, de eerste en laatste
ASCII set, hebben speciale bitpatronen, alle nullen en alle
die respectievelijk.
>> De ontwerpers van ASCII daarom besloten om
behouden deze nummers voor extra speciale tekens,
namelijk de nul karakter en de DEL karakter.
Null en DEL waren bestemd voor papieren tape bewerken, dat vroeger
een gemeenschappelijke manier van opslag data.
Papieren tape was letterlijk een lange strook papier, en op
regelmatig op de band, zou je punch
gaten voor gegevensopslag.
Afhankelijk van de breedte van de band, zou elke kolom zijn
kunnen vijf, zes, zeven of acht bits passen.
>> Om een ​​nul beetje te vertegenwoordigen, zou je niets doen om de tape, zou je
gewoon laten een lege ruimte.
Voor een een beetje, zou je punch een gat.
De null karakter zou gewoon laat een lege kolom,
vermelding van alle nullen.
En de DEL karakter zou slaan een kolom vol gaten
door je tape.
Als gevolg hiervan, kunt u gebruik maken van de DEL teken te verwijderen
gegevens.
Stel je voor het nemen van een ingevulde verkiezingsstemming en vervolgens
ponsen alle ongeperforeerde gaten.
>> Je vervalt de stemming, want het is onmogelijk om
vertellen wat de oorspronkelijke stemmen waren.
Terwijl de DEL karakter wordt nog steeds gebruikt is de moderne
Delete-toets, het nul-karakter kwam om te worden gebruikt als de
beëindiging karakter voor C strijkers en
een aantal andere data formaten.
Misschien ken je het als de backslash nul karakter,
want dat is hoe we het vertegenwoordigen schriftelijk.
Dus terug naar onze ASCII-tabel.
Na de eerste 32 besturingstekens komen de 95
afdrukbare tekens.
>> Er zijn een paar leuke ontwerpbeslissingen waard
het hier over.
Ten eerste, de decimale cijfer personages, nul tot negen,
overeen met de nummers 48 tot 57, die lijkt
onopvallende totdat we kijken naar de nummers 48 tot 57
geschreven in binaire notatie.
Als we dat doen, dan zien we dat het cijfer karakter,
nul overeenkomt met 0110000, 0110001 tot een maps, twee tot
0110010, enzovoort.
Zie het patroon?
Elk cijfer teken wordt toegewezen aan de bijbehorende
equivalent in binaire notatie, voorafgegaan door 011.
Next up, merk je dat de hoofdletters beginnen bij 65,
met hoofdletters A, maar de kleine letters
starten niet tot 97.
Er zijn 32 ruimten tussen.
Dat lijkt vreemd.
Ze zijn slechts 26 letters in het alfabet.
>> Waarom splitsen ze als deze?
Nogmaals, als we kijken naar de binaire representaties, kunnen we
zie een patroon.
Hoofdletter A wordt vertegenwoordigd door 1000001 en kleine letter a is
vertegenwoordigd door 1.100.001.
Hoofdletters B wordt vertegenwoordigd door 1000010, en kleine b is
vertegenwoordigd door 1.100.010.
Kun je vertellen wat er hier aan de hand?
Het bit dat het tweede van links, in de twee-de
kwinten voor 32ths positie is 0 voor alle hoofdletters
letters, en 1 voor alle kleine letters.
>> Dat betekent dat het omzetten van hoofdletters naar kleine letters, en
vice versa, is een kwestie van een eenvoudige bit flip.
Dus dat brengt ons bij het einde van de ASCII-tabel.
Kun je denken aan alles wat we hebben vergeten?
Nou, hoe zit het met de Spaanse enye, of de
Griekse of cyrillische alfabet?
En wat dacht je van Chinese karakters?
Er is een hoop die is weggelaten van ASCII.
Er is echter een andere standaard genaamd Unicode geweest
ontwikkeld zijn voor deze dekking
tekens en nog veel meer.
>> Maar dat is een onderwerp voor een andere keer.
Mijn naam is Nate Hardison.
Dit is CS50.