Binær, desimal og heksadesimal: slik regner du fra det ene til det andre

Å regne om mellom tallsystemer virker som magi helt til du ser at det alltid er den samme ideen: hvert siffer har en verdi som avhenger av plassen det står på. Her lærer du å gå fra binær til desimal og fra desimal til binær for hånd, å lese heksadesimal uten frykt og å gjøre tekst om til biter, med utregnede eksempler og en tabell fra 0 til 15 du kan ha for hånden.

Oppdatert:

Hva et posisjonssystem er

I desimaltallet 4 095 er ikke 4-tallet verdt 4: det er verdt 4 000, fordi det står på tusenplassen. Hver posisjon ganger sifferet med en potens av 10 (1, 10, 100, 1 000 …). Det er et posisjonssystem, og grunntallet er antallet ulike siffer som brukes: ti i desimalsystemet.

Binær fungerer likt, men med grunntall 2: det finnes bare 0 og 1, og hver plass er verdt det dobbelte av den forrige. Heksadesimal bruker grunntall 16: de seksten sifrene er 0 til 9 og bokstavene A til F, og hver plass er verdt 16 ganger den forrige. Datamaskiner jobber i binær fordi en krets bare trenger å skille mellom to tilstander (av og på), og heksadesimal er en kort måte å skrive de bitene på.

Hva hver plass er verdt. Hvis du kan potensene av 2 opp til 128 utenat, sparer du nesten all regningen.
Posisjon (fra høyre til venstre)Verdi i binærVerdi i heksadesimal
1.11
2.216
3.4256
4.84 096
5.1665 536
6.321 048 576
7.6416 777 216
8.128268 435 456

Fra binær til desimal, for hånd

Du skriver hvert siffer med verdien til plassen og legger sammen bare plassene der det står en 1. Eksempel med 1101: fra høyre mot venstre er plassene verdt 1, 2, 4 og 8.

  1. Skriv tallet og under det verdien til hver posisjon: 1 1 0 1 over 8 4 2 1.
  2. Se hva som står på hver plass: en 1 på 8-plassen, en 1 på 4-plassen, en 0 på 2-plassen og en 1 på 1-plassen.
  3. Se bort fra plassene med en 0 (her 2-plassen).
  4. Legg sammen: 8 + 4 + 0 + 1 = 13. Altså er 1101 i binær 13 i desimal.

Med flere siffer er det det samme: 11111111 er 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, den største verdien som får plass i 8 biter. Og 10110110 er 128 + 32 + 16 + 4 + 2 = 182.

Fra desimal til binær, med gjentatte delinger

Du deler tallet på 2 om og om igjen og noterer resten fra hver deling (alltid 0 eller 1) til kvotienten blir 0. Restene, lest nedenfra og opp, er det binære tallet. Eksempel med 45:

Leser du restene nedenfra og opp, får du 101101. For å kontrollere legger du sammen: 32 + 8 + 4 + 1 = 45.

Det finnes en alternativ metode som mange foretrekker: å trekke fra potenser av 2 fra størst til minst. For 200: 128 går opp (72 igjen), 64 går opp (8 igjen), 32 og 16 går ikke, men 8 går (0 igjen). Plassene som er brukt, er 128, 64 og 8, så 200 = 11001000.

Heksadesimal: seksten siffer og en tabell å ha for hånden

Siden det ikke finnes siffer for 10 til 15, brukes bokstavene A, B, C, D, E og F. Ett heksadesimalt siffer tilsvarer nøyaktig fire biter (en «nibble»), og det er derfor det er så praktisk: en byte på 8 biter skrives med bare to heksadesimale siffer.

For å gå fra heksadesimal til desimal ganger du hvert siffer med potensen av 16 for plassen og legger sammen. For eksempel er 3F = 3 × 16 + 15 = 63 og A3 = 10 × 16 + 3 = 163.

Fra 0 til 15 i de fire tallsystemene verktøyet viser.
DesimalBinær (4 biter)OktalHeksadesimal
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

Hvorfor heksadesimal brukes: byte, farger og adresser

En byte er 8 biter og går fra 0 til 255 (00000000 til 11111111). Å skrive biter for hånd er tregt og lett å gjøre feil i. I heksadesimal er den samme byten to tegn, fra 00 til FF. For å gå fra binær til heksadesimal deler du bitene i grupper på fire fra høyre og bytter hver gruppe ut med sifferet fra tabellen. Eksempel: 11010111 deles i 1101 og 0111, som er D og 7, så verdien er D7. Som desimaltall er det 13 × 16 + 7 = 215.

Det mest kjente tilfellet er nettfarger. I #FF8800 er det tre byte: FF for rødt (255), 88 for grønt (136) og 00 for blått (0). Det er en sterk oransje: alt rødt, litt over halvparten av det grønne og ikke noe blått. Heksadesimal dukker også opp i minneadresser, feilkoder og nettverksidentifikatorer.

Fra tekst til binær med ASCII

En datamaskin lagrer hver bokstav som et tall, og det tallet som biter. I ASCII-tabellen er A lik 65, som i binær med 8 biter er 01000001. Ordet «Hi» er to bokstaver: H er 72 (01001000) og i er 105 (01101001), så det skrives 01001000 01101001. «Hola» er 72, 111, 108 og 97, altså 01001000 01101111 01101100 01100001, eller i heksadesimal 48 6F 6C 61.

Verktøyet bruker UTF-8-koding: for enkle engelske bokstaver tar hvert tegn én byte på 8 biter, men en å, en ø, en bokstav med aksent eller en emoji tar flere byte og gir dermed mer enn 8 biter. For eksempel er å to byte: 11000011 10100101 (C3 A5 i heksadesimal).

Slik gjør du alt dette med verktøyet

Omregneren «Binær, desimal og hex» er nyttig for å kontrollere regningen din for hånd eller for å løse lange tall uten feil.

  1. Skriv tallet i feltet for tallsystemet: «Desimal (grunntall 10)», «Binær (grunntall 2)», oktal eller «Heksadesimal (grunntall 16)». De tre andre fylles ut av seg selv.
  2. Hvis sifferet ikke passer til tallsystemet (for eksempel en 2 i binær), sier verktøyet fra.
  3. For tekst skriver du den i feltet «Tekst» og ser «Binær (8 biter per tegn)» og heksadesimal per byte. Du kan også lime inn biter i grupper på 8 for å få tilbake teksten.
  4. For uvanlige tallsystemer bruker du «Hvilket som helst grunntall (2 til 36)»: du velger grunntallet du starter med, grunntallet du vil ha, og tallet.

Begrensningene: det regner bare om positive hele tall (uten desimaler og fortegn), og det setter ikke inn nuller foran for deg, så hvis du vil ha faste 8 biter, må du fylle ut selv (13 er 00001101). Ingenting av det du skriver, forlater nettleseren din.

Vanlige feil

Utregnede oppgaver å øve på

Prøv å løse hver av dem før du ser på svaret, og kontroller etterpå med verktøyet.

Vanlige spørsmål

Hvordan regner jeg om 1101 fra binær til desimal?

Du legger sammen verdiene til plassene der det står en 1: 8 + 4 + 1 = 13. Det andre sifferet fra høyre er en 0, så 2 er ikke med.

Hva er 255 i binær og heksadesimal?

255 er 11111111 i binær og FF i heksadesimal. Det er den største verdien som får plass i en byte på 8 biter.

Hvorfor bruker heksadesimal bokstaver?

Fordi det trenger seksten ulike symboler, og desimalsystemet bare gir ti (0 til 9). Derfor er A lik 10, B lik 11, C lik 12, D lik 13, E lik 14 og F lik 15.

Hvor mange ulike tall kan skrives med 8 biter?

256, fra 0 til 255. Generelt kan n biter representere 2 opphøyd i n verdier.

Regner verktøyet om negative tall eller tall med desimaler?

Nei, bare positive hele tall. For tekst bruker det UTF-8, så bokstaver med aksent og emojier gir mer enn 8 biter.