Bits

In deze les, ga je leren hoe verschillende soorten informatie vertegenwoordigd worden in een computer.

Op deze pagina, ga je leren over het idee van bits de basiseenheid van gegevens in een computer.

Een bit is een eenheid van data die maar twee mogelijke waardes kan hebben. We beelden deze twee mogelijke waardes uit met 0 en 1.

Zoals je weet verplaatst informatie in een computer zich via draden en door digitale abstractie is iedere draad aan of uit, er zijn geen tussenliggende waarde mogelijk. Dit kleine beetje informatie noemen we een bit, de kleinst mogelijke eenheid in het digitale domein.

Wat betekent de waarde van een bit? Uit gemak interpreteren we de twee toestanden van een bit als 0 en 1, maar dat betekent niet dat het per se voor een getal staat. Een enkele bit kan staan voor:

Maar wat als het verkeerslicht ook een oranje waarde nodig heeft? Het is verleidelijk om te zeggen dat bijvoorbeeld 0 volt op de draad rood betekent, 1 volt betekent oranje en 2 volt betekent groen. Maar dan zouden we alle problemen van elektrische ruis krijgen waarvoor de digitale abstractie juist ontworpen is om te voorkomen. Het probleem met signalen met tussenliggende waardes is dat ze makkelijk verkeerd geïnterpreteerd worden. Een signaal met een hoge of lage waarde wordt altijd geïnterpreteerd als een duidelijke aan of uit. (Zie Hoofdstuk 6 Les 1: Het Analoge Domein: Transistors.)

In plaats van waardes tussen 0 en 1 gebruiken we om dit soort problemen op te lossen meer dan één bit . Dus voor het verkeerslicht kunnen we twee bits gebruiken:

eerste bit tweede bit betekenis
 0   rood
 1   oranje
 0   groen
 1    (ongebruikt)

Er zijn vier mogelijke combinaties van twee bits, dus met twee bits kunnen we vier verschillende waardes vertegenwoordigen (00, 01, 10 en 11). We hebben er maar drie nodig voor het verkeerslicht dus 1 waarde wordt niet gebruikt.

  1. Snap dat er niet meer combinaties zijn voor twee bits.
  2. Schrijf alle mogelijke combinaties van drie bits op. Hoeveel zijn er?
  3. Hoeveel mogelijkheden zijn er voor vier bits?

Ieder extra bit verdubbelt het aantal waardes dat je kan gebruiken. Dit betekent dat complexe situaties weergeven niet veel hardware kost; 10 bits is genoeg voor meer dan 1000 waardes.

  1. Hoeveel waardes kan je precies weergeven met tien bits?
  2. Hoeveel bits heb je nodig voor de dagen van de week?
  3. Hoeveel bits heb je nodig om een decimaal cijfer te vertegenwoordigen? (dus een getal van 0-9)

Een byte is acht bits.

Een woord is het aantal draden dat de processor verbindt met het geheugen. Op dit moment in 2020 is een woord 32 bits of 64 bits.

BIts zijn niet duur, maar wat wel duur is, zijn de circuits om de programmeur precies het kleinste aantal bits voor een bepaald probleem te laten gebruiken. Daarom laten moderne computers je alleen bits in twee hoeveelheden gebruiken: de byte , die is gelijk aan acht bits en het woord , waarvan de grootte bepaald wordt door het aantal draden dat de processor van een computer verbindt met het geheugen. Op dit moment in 2020 is een woord 32 bits of 64 bits.

Het precieze antwoord voor 32 bits is 4.294.967.296 dus deze benadering zit best dichtbij.

Hoeveel verschillende waardes kunnen in 32 bits worden weergegeven? Je hoeft het antwoord niet te onthouden, omdat je het snel kunt benaderen met behulp van het feit dat 2 10 = 1024, dat is ongeveer 1000. Dit betekent dat elke tien bits het aantal waardes dat kan worden weergegeven met ongeveer 1000 vermenigvuldigt. Dus, 10 bits staan ongeveer 1000 waardes toe, 20 bits ongeveer 1.000.000 (een miljoen) waardes, 30 bits ongeveer 1.000.000.000 (een miljard). 32 bits staat meer dan vier miljard waardes toe, omdat we het miljard van 30 bits nog twee keer met 2 vermenigvuldigen.

Vier miljard waardes klinkt alsof het meer dan genoeg is voor ieder probleem dat je ooit tegen zou komen. Dit is helaas niet zo als je een astronoom of bankier bent. Je hebt ook geleerd in Hoofdstuk 4 dat 32 bits niet genoeg zijn om iedere computer een internetadres te geven. Daarom hebben we nu 64-bitcomputers.

  1. Hoeveel verschillende waardes kunnen worden weergegeven met een 64-bitwoord? (Gebruik geen rekenmachine; gebruik het feit dat 10 bits ongeveer 1000 waardes bevat!)

Bytes en Tekens

Het voornaamste gebruik van acht-bit bytes zijn tekens voor teksten.

  1. Hoeveel bits heb je nodig om de 26 letters in het Engels en de tien cijfers 0-9 te vertegenwoordigen?
Het wijdverbreide gebruik van acht-bit ASCII is de belangrijkste reden waarom de acht-bit byte de standaard werd. (Een andere reden is dat computercircuits het gemakkelijkst kunnen omgaan met breedtes die machten van twee zijn.)

Computers gebruikten vroeger coderingen van zes bits voor tekens , maar om zowel HOOFDLETTERS als kleine letters als interpunctie te coderen, heb je zeven bits nodig. De eerste officieel erkende symboolcodering was de zeven bits ASCII-set (American Standard Code for Information Interchange). Het bevatte een optionele achtste bit voor foutdetectie, later werd die achtste bit gebruikt voor letters met accenten die voorkomen in het schrift van talen zoals Spaans, Frans, Duits. Er is bijvoorbeeld een teken met een accent in de naam van de hoofdontwikkelaar van Snap!, Jens Mönig, die Duits is.

Omdat het gebruik van computers en internet zich over de hele wereld verspreidde, wilden mensen Chinees, Japans, Arabisch, Tifinagh, Cyrillisch, Tamil, enz. kunnen schrijven. De Unicode -set ondersteunt daarvoor ongeveer 1900 talen, gebruikmakend van 32 moderne alfabetten en 107 alfabetten die niet langer in gebruik zijn. De complete Unicode-tekenset bevat 136.755 tekens.

  1. Wat is het minimum aantal bits dat nodig is om een Unicode-teken te vertegenwoordigen?
De daadwerkelijke weergave van Unicode is ingewikkeld.

De meest eenvoudige weergave van Unicode gebruikt één 32-bit-woord per teken, wat meer dan genoeg is. Maar programmaontwikkelaars vinden dat een inefficiënt gebruik van computergeheugen, daarnaast wordt er nog steeds veel oude software gebruikt die uitgaat van acht bits per teken. Dus Unicode-tekens worden over het algemeen weergegeven in een multi-byte -weergave waarin de oorspronkelijke 128 ASCII-tekens acht bits gebruiken en alle nieuwe tekens 32 bits. (Het is ook mogelijk om je tekstverwerkingssoftware te laten weten dat je codes van één byte wilt gebruiken om een bepaald niet-Latijns alfabet weer te geven.)

  1. welke van de volgende kan NIET worden uitgedrukt met één bit?
    De staat van een AAN/UIT-schakelaar
    De waarde van een Boolean variabele
    Het getal achter de komma wanneer je een positief heel getal door twee deelt
    De positie van de uurhand van een klok
Terug Volgende