Kalkulator szesnastkowy
Dodawaj, odejmuj, mnoż i dziel liczby szesnastkowe, konwertuj na dziesiętne lub binarne i odczytuj kody kolorów RGB. Kalkulator szesnastkowy pokazuje każde przeniesienie w systemie o podstawie 16.
Wyniki aktualizują się podczas wpisywania. Ctrl/Cmd+Enter kopiuje główny wynik.
Wynik
—
Widok bitów
Pokaż rozwiązanie
Kalkulator szesnastkowy dodaje, odejmuje, mnoży i dzieli wartości szesnastkowe, konwertuje między hex, dziesiętnym i binarnym oraz formatuje wyniki z opcjonalnym prefiksem 0x. Cyfry to 0 do 9 i A do F, gdzie A to 10, a F to 15. Obliczenia krok po kroku używają tych samych reguł przeniesienia i pożyczki co w systemie dziesiętnym, z progiem 16 zamiast 10, więc kanały kolorów i adresy pamięci można sprawdzić bez osobnego kartki.
Wszystkie obliczenia działają w przeglądarce. Nic z tego, co wpisujesz, nie trafia na serwer.
Dodawanie, odejmowanie, mnożenie i dzielenie liczb szesnastkowych
Arytmetyka szesnastkowa to obliczenia kolumnowe w systemie o podstawie 16 z cyframi 0 do 9 i A do F. Wpisz dwa ciągi hex, wybierz operację, a Kalkulator szesnastkowy zwróci wynik hex z potwierdzeniem dziesiętnym obok. Cyfry literowe można wpisywać małymi lub wielkimi literami; wynik normalizuje się do wielkich liter, chyba że przełącznik stylu mówi inaczej.
Przeniesienia następują, gdy kolumna osiąga 16 lub więcej. Pożyczki pobierają 16 z wyższej cyfry. Mnożenie i dzielenie używają tego samego układu co w dziesiętnym, z iloczynami pośrednimi z tabeli mnożenia hex. Cyfry spoza 0 do 9 i A do F są odrzucane przed rozpoczęciem operacji.
Konwersja szesnastkowego na dziesiętny
Rozwinięcie pozycyjne mnoży każdą cyfrę hex przez potęgę 16. Najbardziej prawa pozycja to 16⁰ (jedności), potem 16¹ (szesnastki), 16² (256), 16³ (4096) i wyższe potęby w razie potrzeby. Cyfry literowe najpierw zamienia się na wartości dziesiętne: A=10, B=11, C=12, D=13, E=14, F=15.
Dla 2F:
2 F
│ └─ 15 × 16⁰ = 15
└─── 2 × 16¹ = 32
= 47
FF to 15×16 + 15 = 255, maksymalna wartość 8-bitowa bez znaku i znany pełny kanał w potrójce RGB. Kalkulator wypisuje rozwinięcie przy każdej konwersji, więc źle odczytana litera wychodzi szybko na jaw.
Konwersja dziesiętnego na szesnastkowy
Powtarzane dzielenie przez 16 daje cyfry hex jako reszty. Podziel wartość dziesiętną przez 16, zapisz resztę i kontynuuj z ilorazem, aż osiągnie zero. Reszty od 10 do 15 stają się cyframi literowymi A do F. Odczyt reszt od ostatniej do pierwszej daje ciąg szesnastkowy, który Kalkulator szesnastkowy też wypisuje do sprawdzenia.
Dla dziesiętnego 47:
| Krok | Iloraz | Reszta |
|---|---|---|
| 47 ÷ 16 | 2 | 15 (F) |
| 2 ÷ 16 | 0 | 2 |
Czytanie od dołu daje 2F. Duże liczby całkowite idą tą samą pętlą; rośnie tylko liczba kroków. Obieg dziesiętny-hex przez kalkulator to szybka kontrola przed wklejeniem wartości do debuggera lub pola koloru CSS.
Dodawanie 8AB i B78 w hex
Dodawanie 8AB i B78 to przykład dodawania kolumnowego hex z przeniesieniami przez cyfry literowe. W dziesiętnym 0x8AB to 2219, a 0xB78 to 2936. Ich suma to 5155, co zapisuje się jako 1423 w hex. Każda kolumna, która osiąga 16 lub więcej, zapisuje przeniesienie 1 na wyższą pozycję, dokładnie jak w dziesiętnym przy dziesiątce.
1 1 przeniesienia (dziesiętne)
8 A B 2219
+ B 7 8 2936
-------
1 4 2 3 5155
Skrajna prawa: B + 8 = 11 + 8 = 19 dziesiętnie = 13 hex, zapisz 1. Zapisz 3, przeniesienie 1. Środkowa: A + 7 + przeniesienie 1 = 10 + 7 + 1 = 18 dziesiętnie = 12 hex, zapisz 1. Zapisz 2, przeniesienie 1. Lewa: 8 + B + przeniesienie 1 = 8 + 11 + 1 = 20 dziesiętnie = 14 hex (14). Zapisz 4, a pozostałe przeniesienie zapisuje wiodące 1.
Wynik 1423 odpowiada 1×4096 + 4×256 + 2×16 + 3 = 5155. Kalkulator szesnastkowy renderuje ten widok przeniesień przy każdym dodawaniu, więc ręczna kontrola i narzędzie się zgadzają.
Odejmowanie z pożyczką w hex
Odejmowanie hex pożycza 16 dziesiętnie, całe szesnaście, gdy cyfra jest mniejsza od tej pod spodem. Pożyczająca cyfra wyżej spada o 1, a bieżąca rośnie o 16 przed odejmowaniem. Przykład 5DC minus 3AF pokazuje czysty dodatni wynik 22D z tą regułą pożyczki zastosowaną raz w dolnej kolumnie.
5 D C 1500 dziesiętnie
- 3 A F 943 dziesiętnie
-------
2 2 D 557 dziesiętnie
Skrajna prawa: C (12) minus F (15) nie idzie, więc pożyczka od D. Dolna cyfra staje się 12 + 16 = 28, a D spada do C. Potem 28 − 15 = 13, czyli D. Środek: C (po pożyczeniu) minus A to 12 − 10 = 2. Lewa: 5 − 3 = 2.
Różnica to 22D. Gdy odjemna jest większa i ustawiona jest szerokość bitowa, kalkulator może zgłosić wynik w stylu uzupełnienia do dwóch z zawijaniem dla rejestrów o stałej szerokości; tryb nieograniczony trzyma wartość ze znakiem bez wymyślania rozmiaru rejestru.
Bezpośrednia konwersja między hex a binarnym
Każda cyfra hex odpowiada dokładnie czterem bitom, jednemu nibble, bez reszty. Ta stała mapa sprawia, że zrzuty hex pozostają zwarte, a para RGB taka jak FF to osiem jedynek w binarnym. Rozwijanie lub ściskanie między oboma podstawami wymaga tylko tabeli nibble, a Kalkulator szesnastkowy wykonuje oba kierunki dla każdego poprawnego ciągu.
| Hex | Binarny | Dziesiętny |
|---|---|---|
| 0 | 0000 | 0 |
| 1 | 0001 | 1 |
| 7 | 0111 | 7 |
| 8 | 1000 | 8 |
| A | 1010 | 10 |
| F | 1111 | 15 |
2F staje się 0010 1111. FF staje się 1111 1111. Rozwinięcie bajtu jako dwóch cyfr hex albo ściśnięcie ośmiu bitów w dwie cyfry hex nie wymaga arytmetyki poza tabelą. Kalkulator szesnastkowy wykonuje to mapowanie w obie strony; nauka wartości pozycyjnych i samouczki bitowe są na stronie Kalkulatora binarnego, żeby oba narzędzia się nie powtarzały.
Odczyt kodów kolorów hex
CSS i narzędzia projektowe zapisują kolory jako #RRGGBB, gdzie każda para to 8-bitowy kanał od 00 (0) do FF (255). #FF5733 oznacza czerwień 255, zieleń 87, niebieski 51. Opcjonalny kanał alfa dodaje czwartą parę (#RRGGBBAA) dla przezroczystości, nadal w skali 00 do FF.
| Kod | Czerwień | Zieleń | Niebieski |
|---|---|---|---|
| #000000 | 0 | 0 | 0 |
| #FFFFFF | 255 | 255 | 255 |
| #FF0000 | 255 | 0 | 0 |
| #00FF00 | 0 | 255 | 0 |
| #0000FF | 0 | 0 | 255 |
| #FF5733 | 255 | 87 | 51 |
Mieszanie kanałów to zwykła arytmetyka hex na każdej parze osobno. Rozjaśnienie kanału to dodawanie w kierunku FF; przyciemnienie to odejmowanie w kierunku 00. Kalkulator przyjmuje goły hex lub ciągi z prefiksem # przy konwersji kanałów na dziesiętne do porównania ze specyfikacją palety.
Odczyt adresów pamięci i wartości bajtów
Debugery i środowiska uruchomieniowe języków wypisują wskaźniki i wartości maszynowe w hex z prefiksem 0x: 0x7FFE wygląda krócej niż odpowiednik dziesiętny i trafia w granice bajtów. Zrzut pamięci to zwykle siatka bajtów, po dwie cyfry hex każdy. Słowa (16-bit), podwójne słowa (32-bit) i poczwórne słowa (64-bit) to grupy tych bajtów.
Endianness decyduje o kolejności bajtów w słowie wielobajtowym. Little-endian trzyma najmniej znaczący bajt pod najniższym adresem; big-endian trzyma najbardziej znaczący bajt pierwszy. Odczyt 0x1234 z pamięci jako bajty 34 12 to little-endian. Pomylenie kolejności daje adresy i liczby całkowite, które wyglądają wiarygodnie, dopóki nie porównasz z widokiem rejestru. Kalkulator szesnastkowy konwertuje wartość liczbową; interpretacja zrzutu nadal wymaga wiedzy, jakiego endianness używa cel.
Odczyt tabeli mnożenia szesnastkowego
Iloczyny pojedynczych cyfr hex są na tyle małe, że można je zapamiętać do ręcznej arytmetyki i długiego mnożenia. Wiersze i kolumny idą od 1 do F, a każda komórka trzyma iloczyn zapisany w hex. Wyszukanie A × B lub F × F usuwa potrzebę konwersji na dziesiętne w połowie kroku przy ręcznym mnożeniu wielocyfrowych wartości hex.
| × | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 2 | 4 | 6 | 8 | A | C | E | 10 | 12 | 14 | 16 | 18 | 1A | 1C | 1E |
| 4 | 4 | 8 | C | 10 | 14 | 18 | 1C | 20 | 24 | 28 | 2C | 30 | 34 | 38 | 3C |
| 8 | 8 | 10 | 18 | 20 | 28 | 30 | 38 | 40 | 48 | 50 | 58 | 60 | 68 | 70 | 78 |
| A | A | 14 | 1E | 28 | 32 | 3C | 46 | 50 | 5A | 64 | 6E | 78 | 82 | 8C | 96 |
| F | F | 1E | 2D | 3C | 4B | 5A | 69 | 78 | 87 | 96 | A5 | B4 | C3 | D2 | E1 |
F × F = E1, bo 15 × 15 = 225, a 225 = 14×16 + 1. Długie mnożenie wielocyfrowych liczb hex składa się z tych iloczynów jednocyfrowych plus dodawania hex przesuniętych sum cząstkowych. Kalkulator wykonuje tę pracę automatycznie i nadal pokazuje kontrolę dziesiętną do weryfikacji.
Często zadawane pytania
Jakich cyfr używa system szesnastkowy?
Szesnastkowy używa 0 do 9 i A do F. A to 10, B to 11, C to 12, D to 13, E to 14, a F to 15. Każda cyfra to jedna pozycja w systemie o podstawie 16, więc 10 w hex to szesnaście w dziesiętnym, a nie dziesięć.
Jak przekonwertować hex na dziesiętny?
Pomnóż każdą cyfrę przez jej potęgę 16 i dodaj. Skrajna prawa cyfra jest warta 1, następna 16, potem 256, potem 4096. Najpierw zamień cyfry literowe na 10 do 15. 2F to 2×16 + 15 = 47.
Dlaczego programiści wolą hex od dziesiętnego dla bajtów?
Jedna cyfra hex to dokładnie cztery bity, więc dwie cyfry hex to dokładnie jeden bajt. To wyrównanie sprawia, że maski, kanały kolorów i zrzuty pamięci są czytelne bez konwersji każdego bitu. Wartości dziesiętne ukrywają te granice.
Co oznacza prefiks 0x?
Prefiks 0x to konwencja zapisu, powszechna w C i pokrewnych językach, oznaczająca następne cyfry jako szesnastkowe. 0xFF i FF to ta sama wartość dla kalkulatora; prefiks jest opcjonalny na wejściu i dostępny na wyjściu do wklejenia w kod.
Jak hex łączy się z kodami kolorów RGB?
Kolor #RRGGBB przechowuje każdy kanał jako dwie cyfry hex od 00 do FF. #FF5733 to czerwień 255, zieleń 87, niebieski 51. Alfa, jeśli jest, to czwarta para w tym samym zakresie.
Czym jest endianness?
Endianness to kolejność bajtów przy zapisie wielobajtowej wartości w pamięci. Little-endian stawia najmniej znaczący bajt pod najniższym adresem; big-endian stawia najbardziej znaczący bajt pierwszy. Ta sama liczba hex może wyglądać jako różne sekwencje bajtów w zależności od maszyny.
Jak odejmować liczby hex z pożyczką?
Gdy cyfra jest mniejsza od odejmowanej, pożycz 16 z wyższej cyfry. Bieżąca cyfra rośnie o 16 (dziesiętnie), a pożyczająca spada o 1. 5DC − 3AF = 22D używa tej reguły w dolnej kolumnie.
Czy hex można konwertować bezpośrednio na binarny bez dziesiętnego?
Tak. Zamień każdą cyfrę hex na jej czterobitowy wzór. A staje się 1010, F staje się 1111 i tak dalej. Połącz nibble, aby uzyskać pełny ciąg binarny. Pośrednik dziesiętny nie jest potrzebny.
Ile to FF w dziesiętnym?
FF hex to 15×16 + 15 = 255 dziesiętnie. To największa 8-bitowa wartość bez znaku i poziom "pełny" dla pojedynczego kanału koloru.
Czy Kalkulator szesnastkowy wysyła wartości?
Nie. Konwersja i arytmetyka działają w całości w przeglądarce. Adresy, kody kolorów i fragmenty zrzutów zostają na urządzeniu.
Podsumowanie
Kalkulator szesnastkowy wykonuje arytmetykę w systemie o podstawie 16, konwertuje między hex, dziesiętnym i binarnym przez potęgi 16 i mapę nibble czterobitowego oraz wspiera odczyt ciągów hex pod kątem kanałów kolorów i pamięci. Dodanie 8AB i B78 daje 1423; odjęcie 3AF od 5DC daje 22D.
Kody RGB, adresy 0x i odczyt zrzutów z uwzględnieniem endianness są tutaj; nauka bitowa wartości pozycyjnych zostaje na Kalkulatorze binarnym, żeby obie strony pozostały odrębne.