Binära tal

Vi människor är vana vid att använda de tio siffrorna från $\num{0}$ till $\num{9}$. Man talar om ett tiosystem eller decimalsystem.

För datorer är det däremot enklare att arbeta med bara $\num{2}$ siffror: $\num{0}$ och $\num{1}$. Det motsvarar två tillstånd: till exempel avstängd och påslagen, ”transistor spärrad” och ”transistor ledande” eller också $\qty{0}{\volt}$ och $\qty{5}{\volt}$. Det ger ett binärt talsystem.

Att räkna går likadant i alla talsystem (se tabell HAREC-16.2.2): man börjar på $\num{0}$ och räknar upp siffrorna. När siffrorna är slut börjar man om och skriver en $\num{1}$ framför varje tal. Därför kommer i decimalsystemet $\num{10}$ efter $\num{9}$. Siffran längst till höger har det värde den själv föreställer. Det kallas positionsvärdet $\num{1}$.

I decimalsystemet är den andra siffran från höger tio gånger så mycket värd som den själv, har alltså positionsvärdet $\num{10}$. Varje position längre åt vänster är tio gånger så mycket värd som den till höger om den. Till exempel betyder decimaltalet $\num{5573}$ i tabell HAREC-16.2.1 egentligen $5 \cdot 1000 + 5 \cdot 100 + 7 \cdot 10 + 3 \cdot 1$.

$\num{1000}$ $\num{100}$ $\num{10}$ $\num{1}$
$\num{5}$ $\num{5}$ $\num{7}$ $\num{3}$
Tabell HAREC-16.2.1: Positionsvärden för det fyrsiffriga decimaltalet $\num{5573}$
Decimalt Binärt
$\num{0}$ $\num{0}$
$\num{1}$ $\num{1}$
$\num{2}$ $\num{10}$
$\num{3}$ $\num{11}$
$\num{4}$ $\num{100}$
$\num{5}$ $\num{101}$
$\num{6}$ $\num{110}$
$\num{7}$ $\num{111}$
$\num{8}$ $\num{1000}$
$\num{9}$ $\num{1001}$
$\num{10}$ $\num{1010}$
$\num{11}$ $\num{1011}$
$\num{12}$ $\num{1100}$
$\num{13}$ $\num{1101}$
$\num{14}$ $\num{1110}$
$\num{15}$ $\num{1111}$
Tabell HAREC-16.2.2: Tal i decimal- och binärsystemet

I binärsystemet finns bara två siffror, nämligen $\num{0}$ och $\num{1}$. Som framgår av tabell HAREC-16.2.3 har den första positionen från höger positionsvärdet $\num{1}$, den andra $\num{2}$, den tredje $\num{4}$, den fjärde $\num{8}$ och så vidare. Positionsvärdena fördubblas i stället för att tiodubblas, eftersom det bara finns två siffror och inte tio. En position i binärsystemet kallas också bit ($\unit{\bit}$).

$\num{128}$ $\num{64}$ $\num{32}$ $\num{16}$ $\num{8}$ $\num{4}$ $\num{2}$ $\num{1}$
$\num{1}$ $\num{0}$ $\num{0}$ $\num{0}$ $\num{1}$ $\num{1}$ $\num{1}$ $\num{0}$
Tabell HAREC-16.2.3: Positionsvärden för det åttasiffriga binära talet $\num{10001110}$

Om man kan positionsvärdena är det enkelt att omvandla binära tal till decimalsystemet. Låt oss ta ett exempel ur tabell HAREC-16.2.3. Det binära talet $\num{10001110}$ ska räknas om till ett decimaltal.

  1. Man skriver positionsvärdet ovanför varje siffra i det binära talet.
  2. Man adderar alla positionsvärden som har en $\num{1}$ under sig: $128+8+4+2=142$

På papper kan man skriva binära tal med så många bitar som man råkar behöva. I digitalteknik är det annorlunda. Hård- eller mjukvaran anger ett bestämt antal positioner, som också kallas bredd. Till exempel har mikrokontrollrar eller datorer ofta bredderna $\num{8}$, $\num{16}$, $\num{32}$ eller $\qty{64}{\text{bitar}}$. Vid presentationen fylls binära tal ofta på framtill med nollor tills denna bredd nås. Det ändrar ingenting i talets värde.

En fast bredd begränsar värdeområdet. Med en bit är två värden möjliga ($\num{0}$ och $\num{1}$), med två bitar redan fyra ($\num{00}$, $\num{01}$, $\num{10}$ och $\num{11}$) och med varje ytterligare bit dubbelt så många. Med $n$ bitar kan $2^n$ olika tal representeras.


Fortsätt till nästa avsnitt: Morsetelegrafi