Het is Allemaal 1s en 0s: Hoe Computers de Fysieke Wereld
Het nummer “12” is niet de waarde 12 in een doosje van de eieren. Het woord “rots” is niet de rots die je buiten tegenkomt. In plaats daarvan zijn het slechts symbolen, gemaakt uit een verzameling van andere symbolen, die specifieke concepten vertegenwoordigen die goed in kaart brengen naar de wereld om ons heen. Het zijn instrumenten die ons de mogelijkheid geven om de wereld, een massa materie, op te splitsen in beheersbare brokken. We gebruiken ze niet omdat ze objectief “waar” zijn, maar omdat ze nuttig zijn bij het bereiken van onze doelen gegeven een reeks fysieke beperkingen.
in wezen is het gebruik van binary door computers niet ingewikkelder dan dat. Gewoon een ander door de mens gemaakt systeem gemaakt om een bepaald doel te bereiken met een bepaalde reeks beperkingen in het achterhoofd.
alvorens na te denken over hoe computers het binaire systeem gebruiken, is het handig om na te denken over waarom we het denary systeem gebruiken. Ons doel is om numerieke waarden te kunnen vertegenwoordigen en deze waarde aan anderen te communiceren. We kunnen ons een systeem voorstellen waarin we een nieuw karakter hadden voor elk denkbaar getal. Bijvoorbeeld, 156 zou eigenlijk een soort kronkelige lijn met een haak op de top, niet te verwarren met het symbool voor 38, die zou worden weergegeven door een cirkel met een lijn over de top. Dat zou de meest efficiënte manier zijn om waarden weer te geven, omdat je maar één personage per keer nodig hebt om zelfs de grootste getallen weer te geven, in plaats van een keten van tekens. Maar het zou niet de meest praktische zijn. Stel je voor dat een 1ste klas leraar test haar studenten op het verschil tussen het karakter vertegenwoordigt 1,589 en het karakter vertegenwoordigt 2,000,478 en alle personages daartussen.
Er is duidelijk een limiet aan het aantal karakters dat we beschikbaar willen hebben in ons systeem van representatie. Dus hoe zit het met het andere uiteinde van het spectrum: een tally systeem met een enkel beschikbaar karakter? Tuurlijk, dat is mogelijk — laat me nu 2.000.478 met behulp van een base-1 systeem. Het is duidelijk dat dit ook onpraktisch is.
plotseling is het base-10-systeem niet het enige beschikbare numerieke systeem, maar een goede pasvorm gezien onze behoefte aan functionaliteit, elegantie en efficiëntie. Met slechts 10 beschikbaar tekens kan ik het vertegenwoordigen van het aantal 2,000,478 gemakkelijk door het vermenigvuldigen van de numerieke waarde is van die kolom door de volgende macht van 10 zoals blijkt uit onderstaande tabel:
- 2 x 10⁶= 2,000,000
- 0 x 10⁵= 0
- 0 x 10⁴= 0
- 0 x 103= 0
- 4 x 102 = 400
- 7 x 101 = 70
- 8 x 10⁰ = 8
SUM = 2,000,478
Wat een geweldig systeem van waarden vertegenwoordigen. Waarom gebruiken computers dat systeem niet?
van Denary naar binair
als voorbeeld kunt u de uitdrukking “Hello world!”in binair:
- tekst: Hello World!
- ASCII-nummers: 072 101 108 108 111 032 087 111 114 108 100 033
- binair: 00110000 00110111 00110010 00100000 00110001 00110000 00110001 00100000 00110001 00110000 00111000 00100000 00110001 00110000 00111000 00100000 00110001 00110001 00110001 00100000 00110000 00110011 00110010 00100000 00110000 00111000 00110111 00100000 00110001 00110001 00110001 00100000 00110001 00110001 00110100 00100000 00110001 00110000 00111000 00100000 00110001 00110000 00110000 00100000 00110000 00110011 00110011
Zoals tekst, afbeeldingen moeten ook worden omgezet in binaire. We kunnen afbeeldingen in binair weergeven door een afbeelding op te splitsen in een raster van pixels en elke pixelkleur op te splitsen in een combinatie van 3 kleuren (rood, groen en blauw), meestal aangeduid als die pixels RGB-waarde. De maximale waarde die elk van deze kleuren individueel kan hebben is 255 en het minimum is 0, wat betekent dat elke kleurwaarde voor elke pixel kan worden weergegeven door 1 byte voor een totaal van 3 bytes per pixel.
Als voorbeeld we kunnen vertegenwoordigen de schaduw van de groene pixel weergegeven boven op locatie (1,0) in de RGB-en binaire hieronder:
- RGB-Waarden: (6, 250, 7)
- Binair: 00000110, 11111010, 00000111
tot slot, kunnen we voorstellen geluid van gegevens in de binaire en het gebruik van “sampling”). Door de geluidsgolven van een opgenomen geluid te grafieken en de waarden van de golfhoogtes op regelmatige intervallen te noteren, kunnen we die waarden omzetten in binair en dan die geluidsgolf opnieuw maken met behulp van die binaire waarden op een later tijdstip.
voor bijvoorbeeld, de geluidsgolf hierboven heeft een decimale waarde van 8 op het tijdsinterval 1, waardoor het een byte waarde van 00001000.
van binair naar Logica
Er zijn veel verschillende manieren om binaire gegevens op te slaan, waaronder ponskaarten, gemagnetiseerde tape, optische schijven, enz. Allen gebruiken deze conventie van het vertegenwoordigen van waarden in een base-2 systeem. Echter, het vertegenwoordigen van de wereld in binaire is slechts de helft van de strijd. De andere helft is ermee bezig. Voer bitwise operators in.
Bitwise operators werken op individuele bits en zijn de fundamentele rekenkundige bewerkingen die een CPU gebruikt. Elke bitwise operator heeft een set van vooraf bepaalde regels die een bepaalde output gegeven twee ingangen produceren.
u herkent deze tools als degenen die deel uitmaken van een systeem dat we al lang gebruiken voordat elektriciteit werd ontdekt: logica. Hoewel een bitwise operator vreemd lijkt, zijn ze afgeleid van logische operatoren en net als numerieke systemen gebruiken we logische operatoren als bitwise operatoren omdat ze onze doelen efficiënt en elegant dienen gezien onze huidige fysieke beperkingen.
ons doel is om twee verschillende waarden te nemen, vertegenwoordigd door twee mogelijke karakters, die een nieuwe waarde produceren volgens een reeks deterministische regels. U kunt zien hoe ons systeem van propositionele logica vertaalt in computationele logica hieronder:
denk na over de en operator in de context van deze zin: “Bob at lunch en Bob ging naar de film.”Als de eerste verklaring waar is en de tweede verklaring onwaar is, dan is de zin onwaar.
t & F = F
maar als het eerste statement waar is en het tweede statement waar dan is het statement waar.
T & T = T
hoe zit het met de OR operator: “Bob at lunch or Bob ging naar de film”. Als de eerste verklaring waar is en de tweede verklaring onwaar is, is de zin nog steeds waar.
T v F = T
maar als beide onwaar zijn dan is de zin onwaar.
F v F = F
vervang nu de T ’s en F’ S door 1 ’s en 0′ s en we hebben de bouwstenen voor het manipuleren van binair om nieuwe strings van binair en dus nieuwe representaties van waarden te creëren. We gebruiken deze bitwise operators in logische poorten, elektronische schakelaars die deze logica gebruiken om nieuwe waarden te produceren. Stel je het volgende scenario voor:
u moet de LED rechtsonder in een rekenmachine oplichten om de getallen weer te geven 0, 1, 3, 4, 5, 6, 7, 8, en 9 maar niet het nummer 2. Dat betekent dat de binaire getallen 00, 01, 100, 101 110, 111, en 1001 maar niet 10 moeten produceren een enkele op signaal (1). Om die elektrische signalen om te zetten in een enkel ON signaal voor die LED kunnen we ketting 3 of logische poorten en een niet logische poort samen om ervoor te zorgen dat deze waarden resulteren in ofwel een 1 of een 0. Hieronder ziet u een voorbeeld van het getal 7 weergegeven in binair (1110) wat resulteert in een enkel ON signaal, wat resulteert in de LED-verlichting rechtsonder.
Quantum Computing
The only exception to this rule of representing the world in 1’s and 0’s in computers lies in Quantum computing.
Quantum computing attempts to use the “spooky” nature of sub-atomic particles to represent represent data. De fotonen, bijvoorbeeld, zijn getoond om schijnbaar tegenstrijdig gedrag tentoon te stellen, die meerdere staten tegelijk vertegenwoordigen. Het multi-state gedrag geeft ons extra waarden om mee te spelen naast de typische aan/uit die we over het algemeen krijgen met elektrische signalen. In plaats van een bit te gebruiken om gegevens op te slaan, gebruiken quantumcomputers qubits, die een 1 of 0 kunnen zijn of beide tegelijk.