Konwerter liczb szesnastkowych na dziesiętne

Odczyt adresu pamięci, 32-bitowego kodu błędu lub surowego punktu kodowego UTF-8 zwykle zaczyna się od wartości szesnastkowej, którą trzeba zrozumieć jako liczbę dziesiętną. Ten konwerter przyjmuje dowolne dane szesnastkowe, z przedrostkiem 0x lub bez niego, i zwraca odpowiednik dziesiętny z pełną arytmetyką o dowolnej precyzji, dzięki czemu wartości 64-bitowe i większe zachowują każdą cyfrę.

Jak przeliczyć liczbę szesnastkową na dziesiętną

  1. 1

    Wpisz wartość szesnastkową

    Wklej dowolną liczbę szesnastkową: `0x1F4`, `1F4`, `$1f4`, wielkimi lub małymi literami.

  2. 2

    Separatory są ignorowane

    Spacje, podkreślenia i myślniki są usuwane, więc `DE AD BE EF` i `DEADBEEF` to ta sama wartość.

  3. 3

    Odczytaj liczbę dziesiętną

    Wynik korzysta z arytmetyki o dowolnej precyzji, dlatego `0xFFFFFFFFFFFFFFFF` zwraca pełną, 20-cyfrową liczbę dziesiętną.

  4. 4

    Skopiuj lub użyj dalej

    Wklej liczbę dziesiętną do kalkulatora, arkusza kalkulacyjnego lub debugera.

Odczytywanie liczb szesnastkowych jako dziesiętnych

System szesnastkowy używa 16 cyfr: 0-9, a następnie A-F (10-15). Wartość liczby szesnastkowej to suma każdej cyfry pomnożonej przez potęgę liczby 16.

Wartości pozycji

Pozycja (od prawej do lewej) Potęga 16 Waga dziesiętna
0 16^0 1
1 16^1 16
2 16^2 256
3 16^3 4 096
4 16^4 65 536
5 16^5 1 048 576
6 16^6 16 777 216
7 16^7 268 435 456
8 16^8 4 294 967 296

Dlatego 0x1F4 = 1 × 256 + 15 × 16 + 4 × 1 = 500.

Przydatne wartości referencyjne

Szesnastkowo Dziesiętnie Znaczenie
0xFF 255 Maks. 8-bitowa bez znaku
0x7F 127 Maks. 8-bitowa ze znakiem
0xFFFF 65 535 Maks. 16-bitowa bez znaku
0xFFFFFFFF 4 294 967 295 Maks. 32-bitowa bez znaku
0x7FFFFFFF 2 147 483 647 Maks. 32-bitowa ze znakiem (INT_MAX)
0xFFFFFFFFFFFFFFFF 18 446 744 073 709 551 615 Maks. 64-bitowa bez znaku

Interpretacja bez znaku

Ten konwerter zawsze zwraca wartość bez znaku (dodatnią) danych wejściowych: 0xFF to 255, a 0x80000000 to 2 147 483 648. Jeśli dane są liczbami ze znakiem w kodzie uzupełnień do dwóch, samodzielnie zastosuj tę regułę z właściwą szerokością bitową: bajt 0xFF byłby -1 w kontekście ze znakiem 8-bitowym, a 0x80000000 byłby -2 147 483 648 w kontekście ze znakiem 32-bitowym.

Dowolna precyzja

Ponieważ konwerter wykonuje obliczenia arytmetyką o dowolnej precyzji, możesz wklejać wartości o dowolnej długości bez utraty precyzji, co ma kluczowe znaczenie przy odczytywaniu stałych kryptograficznych lub długich liczników tokenów.

Najczęściej zadawane pytania

Ponieważ konwerter zawsze zwraca interpretację bez znaku (dodatnią). Bajt 0xFF to -1 tylko w kontekście ze znakiem 8-bitowym w kodzie uzupełnień do dwóch; jako zwykła wartość bez znaku to 255. Jeśli czytasz dane ze znakiem, interpretuj wynik dziesiętny z szerokością bitową swoich danych.

Konwerter wykonuje obliczenia arytmetyką o dowolnej precyzji, więc liczby dziesiętne o 20 i więcej cyfrach są zwracane dokładnie.

Tak, spacje, podkreślenia i myślniki są usuwane. DE AD BE EF i DEADBEEF są przeliczane na tę samą liczbę dziesiętną.

Tak. W systemie szesnastkowym wielkość liter nie ma znaczenia. 0xAB i 0xab w obu przypadkach dają 171.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach