Pārvērst skaitli starp bināro, oktālo, decimālo un heksadecimālo

viegli pārvērš skaitli no ievades formāta (decimālais, binārais, oktālais, heksadecimālais) dažādos izvades formātos, atvieglojot programmēšanas, debug un datu analīzes uzdevumus.

Kāpēc izmantot skaitļu konvertēšanas rīku?

Pārvēršana starp bāzēm (binārā, oktālā, heksadecimālā, decimālā) ir izplatīta vajadzība zema līmeņa programmēšanā, elektronikā, kriptogrāfijā un datu analīzē. Šis rīks pārvērš skaitli uz visām četrām bāzēm vienlaikus, nenorādot ievades formātu.

Automātiska ievades formāta noteikšana

Rīks automātiski nosaka ievades bāzi:

  • Prefikss 0b: binārs (piem., 0b101010)
  • Prefikss 0o: astoņnieks (piemēram, 0o52)
  • Prefikss 0x: heksadecimāls (piemēram, 0x2a)
  • Bez prefiksa, kas satur burtus a-f: heksadecimāls (piemēram, 2a, ff)
  • Bez prefiksa un tikai cipariem: decimāldaļa (piemēram, 42)

Kā lietot rīku

Ievades laukā ievadiet skaitli un pēc tam noklikšķiniet uz "Konvertēt". Visi četri attēlojumi (binārie, oktālie, heksadecimālie, decimālie) tiks parādīti vienlaikus. Pēc tam rezultātu var kopēt, izmantojot speciālo pogu.

Piemērs

Ievade: 0b101010

Rezultāti:

binārais: 101010
oktāls: 52
heksadecimāls: 2a
decimālskaitlis: 42

Bieži uzdotie jautājumi

Kādi ir pieņemtie prefiksi, lai atšķirtu bāzes?

Rīks atpazīst standarta konvencijas: 0b bināram (piem., 0b101010), 0o oktālam (piem., 0o52), 0x heksadecimālam (piem., 0x2a). Bez prefiksa skaitlis, kas sastāv tikai no cipariem, tiek interpretēts kā decimāls, un skaitlis, kas satur burtus no a līdz f, tiek interpretēts kā heksadecimāls. Šī konvencija ir saderīga ar Python, JavaScript un vairumu mūsdienu valodu.

Kāpēc konvertēt starp bināro, oktālo, heksadecimālo un decimālo?

Dažādas bāzes kalpo dažādiem kontekstiem. Binārais precīzi attēlo atmiņas struktūru (biti, karodziņi, maskas). Heksadecimālā sistēma saspiež 4 bitus uz katru rakstzīmi, kas ir ideāli piemērots atmiņas adrešu, krāsu (#ff6600), jaucējkodu vai UUID nolasīšanai. Octal joprojām tiek rādīts Unix atļaujās (chmod 755). Decimāldaļa ir parasta cilvēka bāze. Pārveidošana starp šīm bāzēm ir būtiska zemā līmenī, drošībā un tīklu veidošanā.

Kāda ir atšķirība starp 2. bāzi, 8. bāzi, 16. bāzi un N bāzi?

Ciparu sistēmas pamats norāda, cik daudz atšķirīgu simbolu tā izmanto. 2. bāze (binārā) izmanto 0 un 1, 8. bāze (astoņskaitlis) izmanto ciparus 0 līdz 7, 10. bāzi (decimāldaļa) ciparus no 0 līdz 9, 16. bāzi (heksadecimālā) pievieno . Jebkurš pamats N ievēro to pašu principu: N simboli, un katra pozīcija ir N^k vērtība. Šis rīks ir paredzēts četrām izplatītākajām bāzēm (2, 8, 10, 16).

Vai rīks apstrādā negatīvus vai decimālskaitļus?

Pašreizējā versija koncentrējas uz pozitīviem veseliem skaitļiem, kas aptver lielāko daļu sistēmas programmēšanas vajadzību. Negatīvie skaitļi tiek izteikti divu papildinājumā saskaņā ar fiksētu vārda platumu (8, 16, 32, 64 biti), un tiem ir nepieciešams papildu konteksts. Punktu skaitļi binārajā formātā (IEEE 754 standarts) ir atsevišķa tēma. Šādos gadījumos komandrindā izmantojiet printf, bc vai IEEE 754 paredzētu rīku.

Kā manuāli konvertēt starp bināro un heksadecimālo?

Binārā konvertēšana uz heksadecimālu ir triviāla, jo 4 biti ir tieši viens heksadecimāls cipars. Sadaliet bināro failu 4 bitu grupās no labās puses un aizstājiet katru grupu ar tās heksadecimālo ekvivalentu: 0000 dod 0, 1010 dod a, 1111 dod f. Piemērs: 10101010 ir sadalīts 1010 1010, un tā vērtība ir aa. Arī apgrieztais ceļš ir tiešs.

Kāpēc mans heksadecimālais skaitlis ff dod 255 decimāldaļās?

Heksadecimālā katrs cipars apzīmē pakāpju 16. ff ir f * 16 + f * 1 vai 15 * 16 + 15 = 255. Tā ir baita maksimālā vērtība (8 biti), līdz ar to ff visuresamība programmēšanā: krāsu kanāla maksimālā intensitāte (#ff0000 tīri sarkans), pilnīga maska, sargvērtība.

Pieprasījuma piemērs

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

Ievades shēma

Lauks Tips Obligāts Noklusējums
number string

Endpoint

  • GET https://cdrn.fr/api/v1/tools - uzskaita visus pieejamos rīkus
  • GET https://cdrn.fr/api/v1/tools/number-converter - iegūst šī rīka shēmu
  • POST https://cdrn.fr/api/v1/tools/number-converter/execute - izpilda šo rīku ar JSON payload