Utilia

Skaitļu sistēmu pārveidotājs

Pārveidojiet skaitļus starp bināro, oktālo, decimālo, heksadecimālo un jebkuru sistēmu no 2 līdz 36, ar otro papildkodu, daļskaitļiem un risinājuma soļiem.

Kā pārveidot skaitli citā skaitļu sistēmā

  1. Ierakstiet vērtību laukā Pārveidojamais skaitlis. Varat to ielīmēt ar priedēkli (0x, 0b, 0o), ar atstarpēm vai pasvītrojumiem starp ciparu grupām, ar mīnusa zīmi un ar daļdaļu aiz komata vai punkta.
  2. Izvēlieties Ievades sistēma. Četras biežākās sistēmas ir nosauktas; pieejama ir katra sistēma no 2 līdz 36.
  3. Izvēlieties Papildu izvades sistēma, ja vajadzīga kāda neparasta, piemēram, 36. sistēma īsiem identifikatoriem vai 3. sistēma mīklai.
  4. Tabula Rezultāti atjaunojas rakstīšanas laikā. Atzīmējiet vai noņemiet atzīmi Grupēt ciparus, lai pievienotu atstarpes ik pēc 4 bināriem vai heksadecimāliem cipariem un ik pēc 3 oktāliem vai decimāliem cipariem. Katrai rindai ir sava poga Kopēt, kas nokopē ciparus bez atstarpēm.

Viss aprēķins izmanto JavaScript BigInt, tāpēc izmēram praktisku ierobežojumu nav: 200 ciparu decimālais skaitlis tiek pārveidots precīzi, bez noapaļošanas, kāda rodas ar parastajiem peldošā komata skaitļiem.

Kā darbojas skaitļu sistēmas

Pozicionālā sistēmā katrs cipars tiek reizināts ar sistēmas pamata pakāpi. Decimālajā sistēmā 255 nozīmē 2×10² + 5×10¹ + 5×10⁰. Binārajā (2. sistēma) tā pati vērtība ir 11111111, oktālajā (8. sistēma) 377 un heksadecimālajā (16. sistēma) FF. Sistēmas virs 10 izmanto burtus: A = 10, B = 11 … Z = 35, tāpēc 36 ir lielākā sistēma ar parasto ciparu kopu.

Heksadecimālā sistēma ir populāra programmētāju vidū, jo viens heksadecimālais cipars ir tieši četri biti: FF ir 1111 1111. Oktālā sistēma grupē bitus pa trim, tāpēc Unix atļaujas, piemēram, 755, raksta oktālajā sistēmā.

Soli pa solim

Sadaļa Soli pa solim parāda risinājumu, kas noder mājasdarbiem un eksāmeniem:

  • N. sistēma → decimālā pieraksta veselās daļas pozīciju vērtības, piemēram, 1011₂ = 1×2³ + 1×2¹ + 1×2⁰ = 8 + 2 + 1 = 11.
  • Decimālā → binārā atkārtoti dala ar 2. Atlikumi, lasot no pēdējā uz pirmo, ir bināri cipari.
  • Daļdaļai rīks atkārtoti reizina ar 2: katra veselā daļa (0 vai 1) kļūst par nākamo bināro ciparu aiz komata. 0,625 dod 1,25 → 1, 0,5 → 0, 1,0 → 1, tātad 0,625 = 0,101₂.

Daļskaitļi, kas nebeidzas

Dažiem daļskaitļiem citā sistēmā nav galīga pieraksta. 0,1 decimālajā sistēmā binārajā ir 0,0001100110011… un atkārtojas bezgalīgi; tāpēc 0.1 + 0.2 lielākajā daļā programmēšanas valodu nav tieši 0,3. Rīks daļskaitļus aprēķina precīzi kā attiecības un apstājas pēc Maks. ciparu skaits pēc komata. Ja rezultāts jānogriež, rinda to norāda, tāpēc vienmēr zināsit, vai vērtība ir precīza.

Otrais papildkods

Datori negatīvus veselus skaitļus glabā otrajā papildkodā: n bitu skaitlim −x tiek glabāts kā 2ⁿ − x. Tabula Otrais papildkods (zīmīgi veseli skaitļi) rāda bitu šablonu un heksadecimālo vērtību 8, 16, 32 un 64 bitiem, kā arī to, kā tas pats šablons tiek lasīts kolonnās Lasīt kā bez zīmes un Lasīt kā ar zīmi. Piemēram, −1 ir 11111111 (FF) 8 bitos, un 200, ievadīts kā baits bez zīmes, kā baits ar zīmi tiek lasīts kā −56. Ja vērtība ir ārpus platuma diapazona (−128 līdz 255 8 bitiem), rinda norāda Neietilpst.

Biežāk uzdotie jautājumi

Kā ievadīt negatīvu bināro skaitli?

Ierakstiet mīnusa zīmi: -1010 2. sistēmā ir −10. Ja jums jau ir otrā papildkoda šablons, piemēram, 11110110, ievadiet to kā pozitīvu bināro skaitli un lasiet kolonnu Lasīt kā ar zīmi izmantotajam platumam.

Kāpēc burti tiek rādīti lielie?

Lielie burti A–F ir visizplatītākais heksadecimālā pieraksta stils. Ievade pieņem abus reģistrus; mazie un lielie cipari nozīmē vienu un to pašu.

Vai kā decimālo atdalītāju varu izmantot komatu?

Jā. Ja skaitlī nav punkta, viens komats tiek lasīts kā decimālais atdalītājs, tāpēc 3,75 darbojas kā 3.75.

Vai skaitļa izmēram ir ierobežojums?

Ievade pieņem līdz 10 000 rakstzīmēm. Soļi tiek rādīti tikai skaitļiem līdz 64 cipariem, lai lapa paliktu lasāma.

Ko dara 36. sistēma?

Tā izmanto ciparus 0–9 un burtus A–Z, dodot īsāko pierakstu ar burtciparu rakstzīmēm. To bieži izmanto kompaktiem identifikatoriem un URL saīsinātājiem.