[Powered by Google Translate] NATE Hardison: I videoen på binære, viser vi, hvordan du
repræsenterer sættet af hele tal, fra nul op,
kun at bruge cifrene nul og én.
I denne video, vil vi bruge binær notation til
repræsentere tekst, breve og sådan, så godt.
>> Hvorfor skulle vi gider at gøre dette?
Nå, under kølerhjelmen, en computer kun virkelig
forstår nuller og ettaller, de binære tal, da disse
kan repræsenteres nemt med elektromagnetiske ting.
>> For eksempel, tænk på din computers hukommelse som en lang
perlerække af pærer, hvor hvert enkelt pære
repræsenterer et nul, hvis den er slukket, og en en
hvis den er tændt.
I stedet for at bruge en masse pærer, nogle moderne
hukommelse gør dette ved hjælp kondensatorer, der holder en lav
oplades til at repræsentere et nul og et høj ladning
at repræsentere en én.
>> Der findes andre metoder også.
Anyway, for at lagre noget i hukommelsen, skal vi
først konvertere det til noget, der kan være faktisk
repræsenteret i den fysiske hardware.
Så lad os tænke over, hvordan vi kan repræsentere bogstaver med
binær notation.
På engelsk har vi 26 bogstaver i alfabetisk, A,
>> B, C, D, og ​​så videre, op gennem Z. Vi kan tildele hver af
disse et antal, siger nul til 25, og derefter bruge
binær notation, at vi kan repræsentere hvert nummer som en
sekvens af nuller og ettaller.
Det er ikke alt for dårlig.
Dog er der ikke vil være nok.
Med dette system kan man faktisk ikke skelne mellem
store og små bogstaver.
Hvis vi ønsker, at vores computer for at kunne skelne mellem
de to sager, har vi brug yderligere 26 numre.
Og hvad med perioder, kommaer og
andre skilletegn?
>> På mit tastatur, jeg har 32 af dem, herunder alle de
specialtegn som f.eks indskudsmærke og tegnet.
Det er ikke inklusive cifret karakterer, nul til ni,
da vi stadig ønsker at være i stand til at skrive tal i decimal
notation på computeren, selvom computeren kun virkelig
forstår binær notation under kølerhjelmen.
>> Og endelig vil vi nødt til at repræsentere et mellemrumstegn så
at vores Space Bar virker.
Så regne ud, hvordan at repræsentere tekst på computeren
tager lidt mere, end vi kunne have troet i første omgang.
Derudover formoder vi så komme med vores egen kodning
ordningen til at repræsentere tegn som tal.
Men vi beslutter at indkode tegn vil uundgåeligt være
vilkårlig, som vi så tidligere, da vi talte om at bruge
numre nul gennem 25 for at repræsentere bogstaverne A
gennem Z. Hvorfor ikke bruge 10 til 35, så vi kan spare
nul til ni for cifrede karakterer?
>> Der er ingen reel grund, vi bare valgte den virkede
bedst for os.
Tilbage i begyndelsen af ​​1960'erne, var dette et reelt problem.
Forskellige computerproducenter brugte
forskellige kodningsskemaer, og dette gjorde kommunikation
mellem forskellige maskiner en meget vanskelig opgave.
The American National Standards Institute, ANSI,
nedsat et udvalg til at udvikle en fælles ordning.
Og i 1963, American Standard Code for Information
Interchange, mere almindeligt kendt som ASCII, blev født.
>> ASCII var udformet som en syv-bit-kodning, som
betyder, at hvert tegn repræsenteres af en kombination
af syv nuller og ettaller.
Med disse to mulige værdier,, nul eller ét for hver
De syv bit er der to til den syvende eller 128
tegn, der kan være repræsenteret med ASCII
kodningsskema.
Så 128 tegn lyder af meget, ikke?
Nå, husk at der er 26 små bogstaver i
Engelsk, yderligere 26 store bogstaver, 10 cifre tegn,
32 tegnsætning og specialtegn
og ét mellemrum karakter.
>> Det sætter os på 95, så vi har en anden 33 tegn, vi
kan repræsentere.
>> Så hvad der er tilbage?
Tja, i de dage i udviklingen af ​​ASCII, fjernskriver
maskiner, som er skrivemaskiner, der bruges til
sende beskeder på tværs af et netværk, var udbredt.
Og disse maskiner havde yderligere tegn, der bruges til
kontrollere dem, for eksempel fortælle dem, hvornår de skal flytte
udskrive hovedet ned en linje, linjeskift eller ny linie tast,
når at flytte til venstre margen, vognretur,
eller blot returnere nøglen, og hvornår de skal gå et rum,
backspace karakter, og så videre.
>> Disse tegn kaldes kontrol tegn, og de
udgør resten af ​​ASCII sæt.
Så hvis vi ser på en ASCII-tabellen, kan vi se, at den første
32 numre, nul til 31, er reserveret til kontrol
tegn.
Men vi sagde bare, at der var 33 styretegn.
Hvad er det for noget?
Nå, tallet nul og 127, den første og sidste af
ASCII sæt, har særlige bitmønstre, nuller og alle
dem, hhv.
>> Designerne af ASCII besluttede derfor at
bevare disse numre for ekstra specialtegn,
nemlig nul karakter og DEL karakter.
Null og DEL var beregnet til papir tape redigering, som anvendte
at være en almindelig måde at lagre data.
Papir tape var bogstavelig talt lige en lang strimmel papir, og på
regelmæssige mellemrum på båndet, ville du punch
huller at gemme data.
Afhængigt af bredden af ​​båndet, vil hver kolonne er
kan rumme fem, seks, syv eller otte bits.
>> For at repræsentere en nul-bit, så ville du ikke gøre noget for det bånd, du vil
bare efterlade en tom plads.
For en én bit, ville du punch et hul.
Den null karakter ville bare efterlade en tom kolonne,
angivelse af alle nuller.
Og DEL karakter ville slå en kolonne fuld af huller
gennem båndet.
Som et resultat, kan du bruge DEL karakter til at slette
information.
Forestil dig at tage en udfyldte valg afstemning, og derefter
stansning alle unpunched huller.
>> Du ugyldig afstemning, fordi det er umuligt at
fortælle, hvad de oprindelige stemmer var.
Mens DEL karakter stadig bruges, er den moderne
Slet nøgle, nul-karakteren kom til at blive anvendt som
afslutningstegn for C-strenge og
nogle andre dataformater.
Du kan kende det som backslash nultegnet,
eftersom det er, hvordan vi repræsenterer det skriftligt.
Så tilbage til vores ASCII-tabellen.
Efter de første 32 styretegn kommer den 95
printbare tegn.
>> Der er et par seje designbeslutninger værd
taler om her.
Det første er de decimale ciffer tegn, nul til ni,
svarer til numrene 48 gennem 57, som synes
tåler indtil vi ser på tallene 48 gennem 57
skrevet i binær notation.
Hvis vi gør det, så ser vi, at ciffertegn,
nul, svarer til 0110000, en map til 0110001, to til
0110010, og så videre.
Se det mønster?
Hvert ciffer karakter er kortlagt til dets tilsvarende
tilsvarende i binær notation, med præfikset 011.
Næste op, du bemærke, at de store bogstaver begynder ved 65,
med store bogstaver A, men de små bogstaver
starter ikke, før 97.
Så der er 32 pladser i mellem.
Det forekommer underligt.
De er kun 26 bogstaver i alfabetet.
>> Hvorfor splitte dem op på denne måde?
Igen, hvis vi ser på de binære repræsentationer, vi kan
se et mønster.
Store bogstaver A er repræsenteret ved 1000001, og små bogstaver a er
repræsenteret ved 1.100.001.
Store B er repræsenteret ved 1000010, og lille b er
repræsenteret ved 1.100.010.
Kan du fortælle, hvad der sker her?
Den smule, der er den anden fra venstre, i de to til
femtedele, for 32ths stilling, er 0 for alle de store
breve og 1 for alle de små bogstaver.
>> Det betyder, at konvertering fra store til små bogstaver, og
omvendt, er et spørgsmål om et simpelt bit flip.
Så det bringer os til slutningen af ​​ASCII-tabellen.
Kan du tænke på noget vi har glemt?
Jamen, hvad med den spanske enye, eller
Græsk eller kyrilliske alfabet?
Og hvad med kinesiske tegn?
Der er en masse, der er blevet udeladt af ASCII.
Imidlertid har en anden standard kaldet Unicode været
udviklet til at dække alle disse
tegn og mange flere.
>> Men det er et emne til en anden gang.
Mit navn er Nate Hardison.
Det er CS50.