Konvertuoti skaičių tarp dvejetainio, aštuntainio, dešimtainio ir šešioliktainio

lengvai paverčia skaičių iš įvesties formato (dešimtainis, dvejetainis, aštuntainis, šešioliktainis) į įvairius išvesties formatus, palengvindamas programavimo, debug ir duomenų analizės užduotis.

Kodėl verta naudoti skaičių konvertavimo įrankį?

Konvertavimas tarp bazių (dvejetainis, aštuntainis, šešioliktainis, dešimtainis) yra dažnas žemo lygio programavimo, elektronikos, kriptografijos ir duomenų analizės poreikis. Šis įrankis konvertuoja skaičių į visas keturias bazes vienu metu, nenurodant įvesties formato.

Automatinis įvesties formato aptikimas

Įrankis automatiškai aptinka įvesties bazę:

  • Priešdėlis 0b: dvejetainis (pvz., 0b101010)
  • Priešdėlis 0o: aštuntasis (pvz., 0o52)
  • Priešdėlis 0x: šešioliktainis (pvz., 0x2a)
  • Be priešdėlio su raidėmis a-f: šešioliktainis (pvz., 2a, ff)
  • Be priešdėlio ir tik skaičių: dešimtainis (pvz., 42)

Kaip naudotis įrankiu

Įvesties lauke įveskite skaičių, tada spustelėkite „Konvertuoti“. Visi keturi atvaizdai (dvejetainė, aštuntainė, šešioliktainė, dešimtainė) bus rodomi vienu metu. Tada galite nukopijuoti rezultatą naudodami tam skirtą mygtuką.

Pavyzdys

Įvestis: 0b101010

Rezultatai:

dvejetainis: 101010
aštuntasis: 52
šešioliktainis: 2a
dešimtainis skaičius: 42

Dažnai užduodami klausimai

Kokie yra priimtini priešdėliai, skirti pagrindams atskirti?

Įrankis atpažįsta standartines nuostatas: 0b – dvejetainis (pvz., 0b101010), 0o – aštuntainis (pvz., 0o52), 0x – šešioliktainis (pvz., 0x2a). Be priešdėlio skaičius, kurį sudaro tik skaitmenys, interpretuojamas kaip dešimtainis skaičius, o skaičius, kuriame yra raidės a iki f, interpretuojamas kaip šešioliktainis. Ši konvencija suderinama su Python, JavaScript ir dauguma šiuolaikinių kalbų.

Kodėl verta konvertuoti dvejetainę, aštuntainę, šešioliktainę ir dešimtainę?

Skirtingos bazės aptarnauja skirtingus kontekstus. Dvejetainis tiksliai atspindi atminties struktūrą (bitai, vėliavėlės, kaukės). Šešioliktainis suglaudina 4 bitus vienam simboliui, puikiai tinka atminties adresams, spalvoms (#ff6600), maišoms arba UUID nuskaityti. Octal vis dar rodomas naudojant Unix leidimus (chmod 755). Dešimtainė yra įprasta žmogaus bazė. Konvertavimas tarp šių bazių yra būtinas žemo lygio, saugumo ir tinklų kūrimo srityje.

Kuo skiriasi 2 bazė, 8 bazė, 16 bazė ir N bazė?

Skaičių sistemos pagrindas rodo, kiek skirtingų simbolių ji naudoja. 2 bazė (dvejetainė) naudoja 0 ir 1, 8 bazė (aštuontainė) – skaitmenys nuo 0 iki 7, 10 bazė (dešimtainė) – skaitmenys nuo 0 iki 9, 16 bazė (šešioliktainis) prideda prie <>code>. Bet kuri bazė N vadovaujasi tuo pačiu principu: N simbolių, o kiekviena pozicija yra verta N^k. Šis įrankis skirtas keturioms bendroms bazėms (2, 8, 10, 16).

Ar įrankis tvarko neigiamus arba dešimtainius skaičius?

Dabartinė versija orientuota į teigiamus sveikuosius skaičius, kurie apima daugumą sistemos programavimo poreikių. Neigiami skaičiai išreiškiami dviejų papildymu pagal fiksuotą žodžio plotį (8, 16, 32, 64 bitai) ir reikalauja papildomo konteksto. Dvejetainiai taškų skaičiai (IEEE 754 standartas) yra atskira tema. Tokiais atvejais komandinėje eilutėje naudokite printf, bc arba įrankį, skirtą IEEE 754.

Kaip rankiniu būdu konvertuoti dvejetainį ir šešioliktainį?

Dvejetainis konvertavimas į šešioliktainį yra trivialus, nes 4 bitai yra tiksliai vienas šešioliktainis skaitmuo. Suskaidykite dvejetainį failą į 4 bitų grupes iš dešinės ir pakeiskite kiekvieną grupę šešioliktainiu ekvivalentu: 0000 suteikia 0, 1010 suteikia a, 1111 suteikia f. Pavyzdys: 10101010 yra padalintas į 1010 1010 ir yra vertas aa. Atvirkštinis kelias taip pat yra tiesioginis.

Kodėl mano šešioliktainis skaičius ff dešimtainiu pateikia 255?

Šešioliktainėje sistemoje kiekvienas skaitmuo reiškia 16 laipsnį. ff yra f * 16 + f * 1 arba 15 * 16 + 15 = 255. Tai didžiausia baito reikšmė (8 bitai), vadinasi, ff yra visur programuojant: maksimalus spalvų kanalo intensyvumas (#ff0000 grynai raudonas), pilna kaukė, sargybos reikšmė.

Užklausos pavyzdys

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

Įvesties schema

Laukas Tipas Privalomas Numatytasis
number string

Galiniai taškai

  • GET https://cdrn.fr/api/v1/tools - išvardija visus galimus įrankius
  • GET https://cdrn.fr/api/v1/tools/number-converter - gauna šio įrankio schemą
  • POST https://cdrn.fr/api/v1/tools/number-converter/execute - vykdo šį įrankį su JSON payload