Konvertovať číslo medzi binárnou, oktalovou, desiatkovou a hexadecimálnou sústavou

ľahko konvertuje číslo zo vstupného formátu (desiatkový, binárny, oktalový, hexadecimálny) do rôznych výstupných formátov, uľahčuje úlohy programovania, debugu a analýzy dát.

Prečo používať nástroj na konverziu čísel?

Konverzia medzi bázami (binárna, oktálna, hexadecimálna, decimálna) je bežná potreba v low-level programovaní, elektronike, kryptografii a analýze dát. Tento nástroj konvertuje číslo do štyroch báz naraz, bez nutnosti špecifikovať vstupný formát.

Automatická detekcia vstupného formátu

Nástroj detekuje vstupnú bázu automaticky:

  • Prefix 0b: binárny (napr. 0b101010)
  • Prefix 0o: oktálny (napr. 0o52)
  • Prefix 0x: hexadecimálny (napr. 0x2a)
  • Bez prefixu obsahujúci písmená a-f: hexadecimálny (napr. 2a, ff)
  • Bez prefixu a iba číslice: decimálny (napr. 42)

Ako používať nástroj

Zadajte číslo do vstupného poľa, potom kliknite na "Konvertovať". Štyri reprezentácie (binárna, oktálna, hexadecimálna, decimálna) sa zobrazia súčasne. Potom môžete výsledok skopírovať dedikovaným tlačidlom.

Príklad

Vstup: 0b101010

Výsledky:

binary: 101010
octal: 52
hexadecimal: 2a
decimal: 42

Často kladené otázky

Aké prefixy sú akceptované na rozlíšenie báz?

Nástroj rozpoznáva štandardné konvencie: 0b pre binárny (napr. 0b101010), 0o pre oktálny (napr. 0o52), 0x pre hexadecimálny (napr. 0x2a). Bez prefixu je číslo zložené iba z číslic interpretované ako decimálne, a číslo obsahujúce písmená af je interpretované ako hexadecimálne. Táto konvencia je kompatibilná s Pythonom, JavaScriptom a väčšinou moderných jazykov.

Prečo konvertovať medzi binárnym, oktálnym, hexadecimálnym a decimálnym?

Odlišné bázy slúžia odlišným kontextom. Binárny verne reprezentuje pamäťovú štruktúru (bity, flagy, masky). Hexadecimálny komprimuje 4 bity per znak, ideálny na čítanie pamäťových adries, farieb (#ff6600), hashov alebo UUID. Oktálny sa stále objavuje na Unix permisiách (chmod 755). Decimálny je obvyklá ľudská báza. Konverzia medzi týmito bázami je nepostrádateľná v low-level, bezpečnosti a sieťach.

Aký rozdiel medzi bázou 2, bázou 8, bázou 16 a bázou N?

Báza číselného systému indikuje, koľko odlišných symbolov používa. Báza 2 (binárna) používa 0 a 1, báza 8 (oktálna) číslice 07, báza 10 (decimálna) číslice 09, báza 16 (hexadecimálna) k tomu pridáva af. Akákoľvek báza N nasleduje rovnaký princíp: N symbolov, a každá pozícia má hodnotu N^k. Tento nástroj cieli štyri bežné bázy (2, 8, 10, 16).

Spravuje nástroj negatívne alebo desatinné čísla?

Aktuálna verzia sa zameriava na pozitívne celé čísla, ktoré pokrývajú podstatu potrieb v systémovom programovaní. Negatívne čísla sú vyjadrené v doplnku do dvoch podľa fixnej šírky slova (8, 16, 32, 64 bitov) a vyžadujú dodatočný kontext. Desatinné čísla v binárnom (IEEE 754 norma) sú samostatný predmet. Pre tieto prípady použite printf, bc v príkazovom riadku alebo dedikovaný IEEE 754 nástroj.

Ako manuálne konvertovať medzi binárnym a hexadecimálnym?

Konverzia binárny na hexadecimálny je triviálna, pretože 4 bity zodpovedajú presne jednej hex číslici. Rozdeľte binárny do skupín 4 bitov sprava a nahraďte každú skupinu jej hex ekvivalentom: 0000 dáva 0, 1010 dáva a, 1111 dáva f. Príklad: 10101010 sa rozdelí na 1010 1010 a má hodnotu aa. Opačný smer je tiež priamy.

Prečo moje hexadecimálne číslo ff dáva 255 v decimálnom?

V hexadecimálnom každá číslica reprezentuje mocninu 16. ff má hodnotu f * 16 + f * 1, čiže 15 * 16 + 15 = 255. Je to maximálna hodnota bajtu (8 bitov), preto všadeprítomnosť ff v programovaní: maximálna intenzita farebného kanála (#ff0000 čistá červená), kompletná maska, sentinel hodnota.

Ukážka požiadavky

curl -X POST https://cdrn.fr/api/v1/tools/number-converter/execute \
  -H "Content-Type: application/json" \
  -d '{"number":"..."}'

Vstupná schéma

Pole Typ Povinné Predvolené
number string

Koncové body

  • GET https://cdrn.fr/api/v1/tools - vypíše všetky dostupné nástroje
  • GET https://cdrn.fr/api/v1/tools/number-converter - získa schému tohto nástroja
  • POST https://cdrn.fr/api/v1/tools/number-converter/execute - spustí tento nástroj s JSON payloadom