Konwerter liczb do hex
Konwertuj liczby dziesiętne, szesnastkowe (hex), ósemkowe i binarne. Kolorów hex (#RRGGBB), adresów pamięci, kodu ASCII. Bezpłatnie.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Status
wiersze nie będące liczbami całkowitymi trafiają do ostrzeżeń
Wynik (HEX)
pierwsza wartość — z opcjami zapisu (0x, grupowanie)
Przeliczone
liczby przekonwertowane w tej turze (meta silnika)
Długość wyniku
4 bity na każdą cyfrę HEX
Liczby ujemne
silnik wypisuje minus przed cyframi (−0x2A), a nie uzupełnienia do dwóch
0xFF 0x04 00 -0x2A 0x01 8E E9 0F F6 C3 73 E0 EE 4E 3F 0A D2
| DEC | HEX (silnik) | Bity | Co przedstawia |
|---|---|---|---|
| 0 | 0x0 | 4 | zero — pojedyncza cyfra |
| 255 | 0xFF | 8 | maksymalny bajt (8 bitów) |
| 1024 | 0x400 | 12 | potęga dwójki (2^10) |
| 65535 | 0xFFFF | 16 | maksymalne 16 bitów (2 bajty) |
| 123456789012345678901234567890 | 0x18EE90FF6C373E0EE4E3F0AD2 | 100 | 29 cyfr — arytmetyka stringowa, bez utraty precyzji |
25510 = FF16, 6553510 = FFFF16 — każda cyfra szesnastkowa to 4 bity, więc bajt zawsze zapiszesz dokładnie dwiema cyframi. Odwrotną konwersję robi sąsiedni konwerter HEX na liczby całkowite.
| DEC | Wynik silnika | 8-bit U2 (porównanie) | Uwaga |
|---|---|---|---|
| -1 | -1 | FF | zwykła „-1” — w U2 wszystkie bity ustawione |
| -42 | -2A | D6 | 256 − 42 = 214 = 0xD6 |
| -128 | -80 | 80 | przypadek brzegowy: −128 to najmniejsza liczba 8-bitowego U2 |
Gdy potrzebujesz zapisu U2 (rejestry, protokoły), przelicz wartość bezwzględną i odejmij od 2^n — albo użyj sąsiedniego konwertera HEX na liczby całkowite z trybem „Signed”, który czyta U2 w drugą stronę.
Warto wiedzieć — zapis szesnastkowy liczb
Jedna cyfra = 4 bity
HEX ma 16 cyfr (0–9, A–F), więc dokładnie odwzorowuje półbajt (nibble). Bajt to zawsze 2 cyfry, 16 bitów to 4 cyfry — stąd podpowiedz „Pad even”, która dopisuje wiodące zero, gdy cyfr jest nieparzysta liczba (1024 → 0400 zamiast 400).
Dlaczego wynik jest liczony na stringach
int w PHP ma 64 bity, a liczby powyżej 2^53 tracą precyzję w typie float. Silnik traktuje wejście jako ciąg cyfr i dzieli przez 16 „ręcznie” — konwersja jest dokładna dla dowolnej długości, co widać w przykładzie 29-cyfrowym w ściądze.
Minus przed cyframi, nie U2
W matematyce −42 zapiszemy jako minus i cyfry 42 — dokładnie tak robi to narzędzie (−0x2A). Sprzęt przechowuje jednak liczby ze znakiem w uzupełnieniu do dwóch (−42 na 8 bitach to D6). To dwa różne zapisy tej samej liczby — wybierz świadomie.
Opcje zapisu wyniku
Prefiks 0x (C, Python, JS), grupowanie co 2 cyfry (bajty — spacje, podkreślniki albo dwukropki jak w MAC-ach), wielkość liter oraz tryb „Per line”: konwersja całej listy liczb naraz, z ostrzeżeniem dla wierszy, które nie są liczbami całkowitymi.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćKonwerter liczb dziesiętnych na HEX i systemy pozycyjne
Systemy pozycyjne to podstawa informatyki: binarny (2), ósemkowy (8), dziesiętny (10) i szesnastkowy (16). Każdy system ma swoje zastosowanie: binarny – sprzęt, hex – kolory CSS i adresy pamięci, ósemkowy – uprawnienia Unix (chmod). Konwerter przelicza między wszystkimi systemami.
Systemy pozycyjne – podstawy
Binarny (base-2): cyfry 0-1. Każda pozycja = potęga 2. 1010₂ = 1×8+0×4+1×2+0×1 = 10₁₀. Ósemkowy (base-8): cyfry 0-7. 12₈ = 1×8+2 = 10₁₀. Dziesiętny (base-10): cyfry 0-9. Szesnastkowy (base-16): cyfry 0-9, A-F. FF₁₆ = 15×16+15 = 255₁₀. Litery: A=10, B=11, C=12, D=13, E=14, F=15.
Przeliczanie między systemami
Dziesiętny → binarny: dziel przez 2, zbieraj reszty. 10÷2=5 r0, 5÷2=2 r1, 2÷2=1 r0, 1÷2=0 r1 → 1010₂. Dziesiętny → hex: dziel przez 16. 255÷16=15 r15 → FF₁₆. Hex → binarny: każda cyfra hex = 4 bity. F₁₆=1111₂, A₁₆=1010₂. FA₁₆=11111010₂. Ósemkowy → binarny: każda cyfra = 3 bity.
Hex w programowaniu
CSS kolory: #RRGGBB. #FF0000 = czerwony. #00FF00 = zielony. #0000FF = niebieski. #FFFFFF = biały. #000000 = czarny. Adresy pamięci: 0x7FFC1234 (prefix 0x). ASCII hex: "A" = 0x41 = 65₁₀. Unicode: U+0041. HTML entities: A = A. Kolory RGB hex: narzędzie na tej stronie konwertuje.
Chmod i system ósemkowy
chmod 755: 7=rwx, 5=r-x, 5=r-x. Binarnie: 111 101 101. 7=111₂(4+2+1), 5=101₂(4+0+1). chmod 644: właściciel rw-, grupa r--, inni r--. chmod 777: pełne uprawnienia dla wszystkich (ryzykowne!). Szybkie zapamiętanie: 4=read, 2=write, 1=execute. Suma = uprawnienia.
Na czym polega zamiana liczby dziesiętnej na szesnastkową
Mechanizm jest prosty: dopóki liczba jest większa od zera, dzielisz ją całkowicie przez 16 i zapisujesz resztę. Reszta z takiego dzielenia zawsze mieści się w zakresie od 0 do 15, więc odpowiada dokładnie jednej cyfrze szesnastkowej. Iloraz staje się liczbą wejściową kolejnego kroku, a operację powtarzasz aż do momentu, gdy iloraz wyniesie 0.
Reszty powstają w kolejności od najmniej znaczącej cyfry, dlatego na koniec trzeba je odwrócić — inaczej wynik będzie zapisany wspak. Matematycznie każdą liczbę hex można rozłożyć na sumę iloczynów: cyfra razy potęga szesnastki, gdzie wykładnik to numer pozycji liczony od zera od prawej strony. Na przykład trzycyfrowy zapis to cyfra × 256 + cyfra × 16 + cyfra.
Związek z systemem binarnym wynika z tego, że 16 to 2 do potęgi 4. Jedna cyfra hex opisuje więc dokładnie cztery bity, a dwie cyfry — cały bajt. Dzięki temu zapis szesnastkowy jest po prostu skróconą, czytelną wersją ciągu zer i jedynek.
Przykład krok po kroku: liczba 1000 na hex
- Liczba wejściowa to 1000. Dzielimy ją przez 16: 1000 ÷ 16 = 62, reszta 8. Reszta 8 to najmłodsza cyfra wyniku.
- Bierzemy iloraz 62: 62 ÷ 16 = 3, reszta 14. Wartość 14 zapisujemy jako literę E.
- Bierzemy iloraz 3: 3 ÷ 16 = 0, reszta 3. Iloraz spadł do zera, więc kończymy — cyfra 3 jest najstarsza.
- Odwracamy kolejność reszt: najpierw 3, potem E, na końcu 8. Wynik to 3E8.
- Sprawdzenie przez potęgi: 3 × 256 + 14 × 16 + 8 = 768 + 224 + 8 = 1000. Wynik się zgadza.
- Kontrola przez bity: 3 = 0011, E = 1110, 8 = 1000, co razem daje 0011 1110 1000.
Potęgi szesnastki — tabela referencyjna
| Potęga szesnastki | Wartość dziesiętna | Znaczenie w praktyce |
|---|---|---|
| 16 do potęgi 0 | 1 | pozycja najmłodszej cyfry hex |
| 16 do potęgi 1 | 16 | przesunięcie o jedną cyfrę w lewo |
| 16 do potęgi 2 | 256 | dwie cyfry hex zapisują cały bajt, od 00 do FF |
| 16 do potęgi 3 | 4096 | trzy cyfry hex to 12 bitów |
| 16 do potęgi 4 | 65536 | cztery cyfry hex to 16 bitów |
| 16 do potęgi 5 | 1048576 | tyle bajtów liczy 1 MiB |
| 16 do potęgi 6 | 16777216 | liczba możliwych kolorów w 24-bitowym RGB |
Jak przeliczać hex sprawnie
- Odwracaj reszty na końcu — pierwsza reszta z dzielenia to cyfra jedynek, a nie cyfra najbardziej znacząca. Najczęstszy błąd to przepisanie ich w kolejności powstawania.
- Grupuj wynik po dwie cyfry — jedna para to jeden bajt o zakresie od 00 do FF. Uzupełnienie zerem z przodu nic nie zmienia w wartości, a porządkuje zapis.
- Zapamiętaj potęgi 16 — 16, 256, 4096 i 65536 pozwalają oszacować wynik i sprawdzić go w głowie bez kalkulatora.
- Traktuj zapis binarny jako punkt pośredni — podział na czterobitowe grupy jest szybszy niż dzielenie, gdy liczba jest już podana w systemie dwójkowym.
- Nie mieszaj ilorazu z resztą — do wyniku trafia wyłącznie reszta. Iloraz służy tylko do następnego kroku.
Czego konwerter nie uwzględnia
- Tylko liczby całkowite — część ułamkowa wymaga osobnego przeliczenia metodą mnożenia przez 16, a nie dzielenia z resztą.
- Granica precyzji — przy bardzo długich liczbach wynik może zostać zaokrąglony, bo przekraczasz zakres bezpiecznych liczb całkowitych używanych przez przeglądarkę.
- Brak kontekstu — narzędzie nie wie, czy liczba oznacza kolor, adres pamięci czy uprawnienia. Samo nie doda prefiksu, nie uzupełni zerami do stałej długości i nie rozdzieli cyfr spacjami.
- Liczby ujemne — znak minus zostaje przy wartości. Konwerter nie zamienia liczby ujemnej na jej odpowiednik w kodzie uzupełnień, jaki stosuje się przy stałej szerokości rejestru.
Najczęstsze pytania
Jak szybko przeliczać hex w głowie?
Zapamiętaj: 0=0000, 1=0001, ..., 9=1001, A=1010, B=1011, C=1100, D=1101, E=1110, F=1111. Hex → decimal: F×16 + A = 15×16+10 = 250. AB₁₆ = 10×16+11 = 171. Szybkie: pierwsze 256 liczb (00-FF) warto znać na pamięć jako programista.
Jak hex jest używany w kolorach CSS?
#RRGGBB: R, G, B w zakresie 00-FF (0-255). #FF5733: R=255, G=87, B=51 = koralowy. Skrót: #FFF = #FFFFFF. Przezroczystość: #RRGGBBAA lub rgba(). Narzędzia: color.adobe.com, coolors.co. JavaScript: parseInt("FF", 16) = 255. CSS zmienne: --color: #3498db.
Jak konwertować ASCII na hex?
Każdy znak ASCII: numer 0-127 (0-255 dla extended). A=65=0x41, a=97=0x61, spacja=32=0x20. JavaScript: "A".charCodeAt(0).toString(16) = "41". Python: hex(ord("A")) = "0x41". Cały string: "Hello".split("").map(c => c.charCodeAt(0).toString(16)) = ["48","65","6c","6c","6f"].
Co to jest two's complement (uzupełnienie do dwóch)?
Reprezentacja liczb ujemnych w binarnym. Dla 8-bit: -1 = 11111111 = 0xFF. -128 = 10000000 = 0x80. 127 = 01111111 = 0x7F. Jak obliczyć: odwróć bity + 1. -42: 42 = 00101010, odwróć = 11010101, +1 = 11010110 = 0xD6. Dlaczego: prosta matematyka dodawania działa bez specjalnej obsługi znaku.
Jakie są popularne liczby hex do zapamiętania?
0xFF = 255 (max byte). 0x100 = 256 (256 wartości na byte). 0x7F = 127 (max signed byte). 0x80 = 128. 0xFFFF = 65535 (max 2 bytes). 0xDEADBEEF: słynna wartość debug (0xDEAD BEEF). 0xCAFEBABE: magic bytes Java .class file. 0x1337 = "leet" (1337 speak). 0xC0FFEE: coffee.
Jak zamienić liczbę dziesiętną na szesnastkową bez kalkulatora?
Dziel liczbę przez 16 i zapisuj reszty, aż iloraz spadnie do zera, a następnie odwróć ich kolejność. Reszty od 10 do 15 zamień na litery od A do F.
Ile cyfr ma liczba szesnastkowa?
Tyle, ile reszt wyjdzie z dzielenia — zapis nie ma stałej długości. W praktyce uzupełnia się go zerami do par, czterech lub ośmiu cyfr, żeby zachować wyrównanie do bajtów i słów.
Dlaczego w systemie szesnastkowym używa się liter?
Bo jedna pozycja musi pomieścić wartości od 0 do 15, a cyfr arabskich jest tylko dziesięć. Litery od A do F są umowne i mają przypisane wartości od 10 do 15.
Czy wynik zapisuje się wielkimi czy małymi literami?
Nie ma to znaczenia dla wartości liczby — a–f i A–F oznaczają to samo. Wielkie litery częściej pojawiają się w dokumentacji i kodzie, małe w niektórych językach programowania.
Jak sprawdzić, czy konwersja jest poprawna?
Pomnóż każdą cyfrę hex przez potęgę 16 odpowiadającą jej pozycji i dodaj iloczyny. Jeśli suma jest równa liczbie wejściowej, wynik jest prawidłowy.
Powiązane narzedzia: kalkulator chmod, konwerter kolorow hex i koder ASCII.