David J Morgan op Flickr
binaire getallen, gebaseerd op 1s en 0s, weerspiegelen de praktische essentie van computerhardware: elektriciteit is aan of uit. Leer hoe je in binaire getallen schrijft, en de (niet zo geheime) code om Engelse letters om te zetten in binaire getallen en weer terug.
wanneer is de letter A niet de letter A? Computers gebruiken niet de letter A. Ze gebruiken het acht tekens binaire nummer 01000001 om A. te vertegenwoordigen., Deze binary numbers tutorial beschrijft wat binaire getallen zijn en hoe ze te berekenen.
Computers transporteren, berekenen en vertalen binaire getallen omdat computerhardware circuits slechts twee elektrische toestanden hebben, aan of uit. Deze twee toestanden kunnen worden weergegeven als nul (uit) of één (aan). Alle letters van het alfabet, cijfers en symbolen worden geconverteerd naar acht tekens binaire getallen als je met hen werkt in software op uw computer.
hoe u binaire getallen maakt en vertaalt is een goede manier om te leren hoe computers gegevens verwerken op het laagste niveau, in hun hardware circuits.,
Ook geef ik een gratis Excel-spreadsheet aan de onderkant van dit artikel om u te helpen binaire getallen te visualiseren en te berekenen.
de geheime formule
om de letter A als 01000001 weer te geven, hebben de computer (en u, om mee te volgen) verschillende basisgereedschappen nodig. Een tool is een ASCII conversie grafiek. Zonder in te veel technische details te duiken, wijst de ASCII-grafiek een uniek getal tussen 1 en 255 toe aan alle letters van het alfabet met hoofdletters (A-Z) en kleine letters (a-z), evenals getallen (0-9), spaties en andere speciale tekens., Het unieke ASCII-getal dat aan elk teken wordt toegewezen, bijvoorbeeld de hoofdletter A, wordt gebruikt om een uniek binair getal van acht tekens te berekenen, een combinatie van enen en nullen zoals 01000001.
Het is in principe een tweestaps geheime code. De eerste stap is om het unieke ASCII-nummer te pakken voor een letter. De tweede stap is om een uniek binair getal van acht tekens te creëren, een combinatie van enen en nullen om het ASCII-getal te vertegenwoordigen.,
en, natuurlijk, van de acht karaktercombinatie van enen en nullen tot de letter of het teken keert dit proces om: verander eerst het binaire getal in een getal tussen 1 en 255 en gebruik dan het getal om de letter in de ASCII grafiek op te zoeken.
hoe binaire getallen te maken
binaire getallen zijn acht tekens lang, waarbij elk teken een 1 of 0 is. De plaatsing van elke 1 geeft de waarde van die positie aan, die wordt gebruikt om de totale waarde van het binaire getal te berekenen., Elke positie van elk van de acht tekens vertegenwoordigt een vaste getalwaarde, zoals hieronder weergegeven.
Als u deze standaardwaardennummers van onder naar boven leest, kunt u dan vertellen hoe elk nummer onmiddellijk hierboven wordt berekend? Ze zijn verdubbeld. Dus binaire getallen beginnen aan de onderkant met de eerste positie gelijk aan 1. De tweede positie vanaf de onderkant heeft een waarde 2, de derde positie 4, enzovoort.,
Als u al deze getallen optelt (1+2+4+8+16+32+64+128), kun je raden welk nummer je krijgt? 255, het hoogste getal dat in de ASCII-tabel wordt gebruikt. Er is een perfecte mapping tussen alle mogelijke getallen 1 tot 255 in de ASCII tabel en de berekende waarden voor alle mogelijke acht tekens binaire getallen.
om de getalwaarde van een binair getal te berekenen, tel de waarde op voor elke positie van alle 1s in het acht karakternummer. Het nummer 01000001 wordt bijvoorbeeld omgezet in 64 + 1 of 65., Degenen in dit binaire getal zijn in de eerste en zevende positie, tellen van onder naar boven, of lezen van rechts naar links. De eerste positie heeft een toegewezen waarde van 1 terwijl de zevende positie een toegewezen waarde van 64 heeft.
laten we een Letter converteren naar een binair getal
Nu u de geheime formule kent om letters naar unieke ASCII-getallen naar binaire getallen te converteren, en hoe u binaire getallen maakt, Laten we het hele proces stap voor stap doen. Laten we beginnen met de letter C.,
eerst moeten we een ASCII-grafiek gebruiken zoals deze hieronder om het unieke nummer op te zoeken dat is toegewezen aan de hoofdletter C. Het unieke decimale getal dat moet worden gebruikt is 67.
Decimaal | Character | Decimaal | Character | Decimaal | Character | |
---|---|---|---|---|---|---|
32 | Space | 64 | @ | 96 | ` | |
33 | !, | |||||
39 | ‘ | 71 | G | 103 | g | |
40 | ( | 72 | H | 104 | h | |
41 | ) | 73 | I | 105 | i | |
42 | * | 74 | J | 106 | j | |
43 | + | 75 | K | 107 | k | |
44 | , | 76 | L | 108 | l | |
45 | – | 77 | M | 109 | m | |
46 | .,td> | 6 | 86 | V | 118 | v |
55 | 7 | 87 | W | 119 | w | |
56 | 8 | 88 | X | 120 | x | |
57 | 9 | 89 | Y | 121 | y | |
58 | : | 90 | Z | 122 | z | |
59 | ; | 91 | 125 | } | ||
62 | > | 94 | ^ | 126 | ~ | |
63 | ?, | 95 | _ | 127 | DEL |
om het getal voor C, 67 om te zetten in een binair getal:
onthouden hoe binaire getallen van onder naar boven worden gelezen, eerste positie en standaardwaarde naar boven en standaardwaarde, waarbij aan elk van de acht tekenposities een unieke getalwaarde wordt toegekend? Met de grafiek hieronder, welke combinatie van waarden zou gelijk zijn aan 67?,
u hebt gelijk als u zei dat de standaardwaarden 1 plus 2 plus 64 gelijk zouden zijn aan 67, het ASCII-nummer voor de hoofdletter C. Dus laten we de eerste, tweede, en zevende positie nullen naar enen, geteld van rechts naar links., Het binaire getal is voor de hoofdletter C is:
kunt u dit binaire getal decoderen? Tel de 1s op om te krijgen 64+16+4 of 84. Zoek het decimale getal 84 op in de ASCII-grafiek om de onderstaande letter te vinden:
Als u dit binaire getal naar de hoofdletter T hebt geconverteerd, hebt u gelijk., de letter A als een binair getal om te vertegenwoordigen de ASCII-decimaal getal voor Een, dat is 65:
Als we combineren de binaire getallen we hebben gekeken naar het zo ver, we kunnen de ban van de KAT:
01000011 01000001 01010100
Bonus van de storting: Pseudo-Code voor het Ontwerp van een Binair Getal Converter
Met een goed begrip van hoe de letters en cijfers zijn omgezet naar binaire getallen, en weer terug, laten we kijken hoe we het kunnen maken van een software-applicatie te maken van deze conversies on the fly., De toepassing heeft geen echte waarde. Maar het biedt een kans om te bespreken hoe een proces kan worden omgezet in software.
in plaats van echte code, schrijven we echter een reeks statements of pseudo-code op.
laten we het woord cat nemen om te beginnen. Welk proces hebben we nodig om deze letters automatisch om te zetten in binaire getallen? Hier is een mogelijke set stappen die we kunnen coderen:
- breek het woord in individuele letters.
- zoek voor elke letter de ASCII-waarde op die aan de letter is toegewezen.
- converteer voor elke ASCII-getalwaarde naar een binair getal.,
- SLA voor elk binair getal de waarde van het binair getal op. Als het het eerste binaire getal is, creëer dan de initiële binaire waarde; als er een binaire waarde bestaat, voeg dan het nieuwe binaire getal toe aan het einde van de waarde.
stel je voor dat we de laatste stap overslaan: wat zou het resultaat zijn van deze stappen? We hebben alleen het laatste binaire getal, voor de kleine letter t in cat. Het is belangrijk dat we elk binair getal vastleggen als ze worden gemaakt.
andere observaties over dit pseudo-code proces? We moeten onderscheid maken tussen hoofdletters en kleine letters, nietwaar?, Anders zou onze binaire getalconversie van binaire getal naar ASCII-letters kunnen vertalen als kat of kat of kat. Onze zoekopdracht om letters te matchen met de ASCII tabel kan het verkeerde nummer pakken.
Bonus Bonus: Een laatste puzzel
kunt u de zin in deze set van binaire getallen decoderen? Onthoud, dit zijn acht tekenblokken van 1s en 0s.
01000011 01101111 01100100 01100101 01101001 01110011 01010000 01101111 01100101 01110100 01110010 01111001
Hier is een vrij eenvoudige manier om een letter om te zetten in een binair getal., Pak een calculator, Vind de ASCII decimale waarde voor de brief, van de grafiek hierboven, kijk dan naar de binaire aantalgrafiek voor de dichtstbijzijnde waarde aan de decimale waarde. Trek de dichtstbijzijnde standaardwaarde van het aantal in de binaire grafiek af om een restwaarde te krijgen. Zoek naar de dichtstbijzijnde binaire standaardwaarde voor de rest. Herhaal tot je binaire waarden op zijn.
als je slim bent, zul je ook merken dat de som van de waarden onder een van de acht standaardwaarden gelijk is aan één minder dan de waarde: dus onder de binaire waarde 4 zijn de waarden 2 en 1 die gelijk zijn aan 3., Onder de binaire waarde van 8 zijn 4, 2 en 1 die gelijk zijn aan 7. Dit kan ook helpen bij het converteren van letters naar binaire getallen. Als je Rest 7 is, bijvoorbeeld, dan weet je dat je een 1 op de 4, 2 en 1 posities moet zetten om dat deel van je binaire getal te creëren.
om binaire getallen in letters om te zetten, pak je een stuk papier en een pen of potlood en tel je de binaire waarden van alle 1s op. zoek dan je totale getal op als een ASCII decimaal in de grafiek hierboven.,
Hier is een hint om te helpen bepalen of je de binaire getallen hierboven correct hebt opgelost: Ik ben afgestudeerd in Amerikaanse poëzie op de universiteit en hou van de oude tagline gebruikt voor WordPress publishing software.