Vad är en talbas?

En talbas, eller radix, är antalet siffror som ett talsystem använder. Decimaltalsystemet, som används till vardags, har tio siffror, 0 till 9, och varje position är värd tio gånger så mycket som positionen till höger. Datorer arbetar med binära tal, som bara använder 0 och 1, så varje position är värd dubbelt så mycket som positionen till höger. Oktala tal, med siffrorna 0 till 7, och hexadecimala tal, med 0 till 9 och A till F för 10 till 15, är kortare sätt att skriva binära tal: en oktal siffra motsvarar exakt 3 bitar och en hexadecimal siffra exakt 4, så en byte består alltid av två hexadecimala siffror.

Här är samma tal i varje bas:

Decimal Binär Oktal Hexadecimal
10 1010 12 A
42 101010 52 2A
255 11111111 377 FF
1000 1111101000 1750 3E8
65535 1111111111111111 177777 FFFF
-42 -101010 -52 -2A

Var de olika baserna används

  • Binärt: bitar, flaggor, bitmasker och nätmasker, till exempel 255.255.255.0, som består av 24 ettor följda av 8 nollor.
  • Oktalt: Unix-filbehörigheter, till exempel chmod 755, där varje siffra motsvarar tre behörighetsbitar.
  • Decimalt: tal som används till vardags.
  • Hexadecimalt: färger som #FF6600, bytevärden, minnesadresser, MAC-adresser och Unicode-kodpunkter som U+00E9.

Verktygsbeskrivning

Det här verktyget konverterar heltal mellan binär, oktal, decimal och hexadecimal form. Alla talbaskonverterare här fungerar på samma sätt, från den allmänna talbaskonverteraren till dem för ett enskilt par, som från decimal till binär eller från hexadecimal till decimal: verktyget börjar med baserna i sitt namn, och menyerna för källa och mål låter dig välja någon av de fyra. Skriv eller klistra in ett tal, så visas resultatet medan du skriver, redo att kopieras. Om talet innehåller en siffra som inte finns i den valda basen, till exempel 2 i ett binärt tal, visas ett felmeddelande. Växlingsknappen vänder på konverteringen.

Så fungerar det

Verktyget läser talet som en JavaScript BigInt, ett heltal utan storleksbegränsning, så 64-bitarsvärden och längre tal konverteras exakt, utan avrundning: FFFFFFFFFFFFFFFF i hexadecimal form är 18446744073709551615 i decimal form. Det godtar:

  • Ett minustecken i början, som resultatet behåller: -42 i decimal form är -101010 i binär form.
  • Prefixen som används i kod: 0b för binärt, 0o för oktalt och 0x för hexadecimalt, så 0x1F konverteras till 31.
  • Mellanslag och understreck mellan siffergrupper, till exempel 1111 0000 eller 1_000_000.
  • Hexadecimala bokstäver med versaler eller gemener. Resultaten skrivs med versaler.

Endast heltal kan konverteras, så tal med decimaltecken ger ett felmeddelande.