Utilia

Pretvarač brojnih sistema

Pretvaraj brojeve između binarnog, oktalnog, decimalnog, heksadecimalnog i bilo kog sistema od 2 do 36, sa dvojnim komplementom i postupkom korak po korak.

Kako se broj pretvara u drugu osnovu

  1. Upiši vrednost u Broj za pretvaranje. Možeš je nalepiti sa prefiksom (0x, 0b, 0o), sa razmacima ili donjim crtama između grupa cifara, sa znakom minus i sa razlomljenim delom posle tačke.
  2. Izaberi Osnova unosa. Četiri uobičajene osnove su imenovane; dostupna je svaka osnova od 2 do 36.
  3. Izaberi Dodatna izlazna osnova ako ti treba i nešto neobično, na primer osnova 36 za kratke identifikatore ili osnova 3 za zagonetku.
  4. Tabela Rezultati se ažurira dok kucaš. Uključi ili isključi Grupiši cifre da dodaš razmake na svake 4 binarne ili heksadecimalne cifre i na svake 3 oktalne ili decimalne. Svaki red ima svoje dugme Kopiraj, koje kopira cifre bez razmaka.

Ceo proračun koristi JavaScript BigInt, pa nema ograničenja veličine o kojem vredi brinuti: decimalni broj od 200 cifara pretvara se tačno, bez zaokruživanja koje daju obični brojevi u pokretnom zarezu.

Kako rade brojni sistemi

U pozicionom sistemu svaka cifra se množi stepenom osnove. U decimalnom sistemu 255 znači 2×10² + 5×10¹ + 5×10⁰. U binarnom (osnova 2) ista vrednost je 11111111, u oktalnom (osnova 8) 377, a u heksadecimalnom (osnova 16) FF. Osnove veće od 10 koriste slova: A = 10, B = 11 … Z = 35, zbog čega je 36 najveća osnova sa uobičajenim skupom cifara.

Heksadecimalni sistem je omiljen među programerima jer je jedna heksadecimalna cifra tačno četiri bita: FF je 1111 1111. Oktalni sistem grupiše bitove po tri, zbog čega se Unix dozvole kao što je 755 pišu oktalno.

Korak po korak

Odeljak Korak po korak pokazuje postupak, koristan za domaće zadatke i ispite:

  • Osnova N → decimalni ispisuje težine mesta celog dela, na primer 1011₂ = 1×2³ + 1×2¹ + 1×2⁰ = 8 + 2 + 1 = 11.
  • Decimalni → binarni uzastopno deli sa 2. Ostaci, čitani od poslednjeg ka prvom, su binarne cifre.
  • Za razlomljeni deo alat uzastopno množi sa 2: svaki ceo deo (0 ili 1) postaje sledeća binarna cifra posle zareza. Broj 0,625 daje 1,25 → 1, 0,5 → 0, 1,0 → 1, dakle 0,625 = 0,101₂.

Razlomci koji se nikad ne završavaju

Neki razlomci nemaju konačan oblik u drugoj osnovi. Broj 0,1 u decimalnom sistemu je 0,0001100110011… u binarnom, i ponavlja se u nedogled; zato 0.1 + 0.2 u većini programskih jezika nije tačno 0,3. Alat računa razlomke tačno kao odnose i staje posle Najviše razlomljenih cifara. Kada mora da odseče rezultat, red to kaže, pa uvek znaš da li je vrednost tačna.

Dvojni komplement

Računari čuvaju negativne cele brojeve u dvojnom komplementu: za n-bitni ceo broj, −x se čuva kao 2ⁿ − x. Tabela Dvojni komplement (celi brojevi sa predznakom) pokazuje bitski obrazac i heksadecimalnu vrednost za 8, 16, 32 i 64 bita, i kako se isti obrazac čita u kolonama Čitano bez predznaka i Čitano sa predznakom. Na primer, −1 je 11111111 (FF) u 8 bita, a 200 uneto kao bajt bez predznaka čita se kao −56 kao bajt sa predznakom. Kada je vrednost van opsega neke širine (−128 do 255 za 8 bita), red kaže Ne staje.

Česta pitanja

Kako da unesem negativan binarni broj?

Upiši znak minus: -1010 u osnovi 2 je −10. Ako već imaš obrazac dvojnog komplementa kao što je 11110110, unesi ga kao pozitivan binarni broj i pogledaj kolonu Čitano sa predznakom za širinu koju koristiš.

Zašto su slova prikazana velikim slovima?

Velika slova A–F su najčešći stil za heksadecimalni zapis. Unos prihvata oba oblika; mala i velika slova znače isto.

Mogu li da koristim zarez kao decimalni separator?

Da. Ako broj ne sadrži tačku, jedan zarez se čita kao decimalni separator, pa 3,75 radi kao 3.75.

Postoji li ograničenje veličine broja?

Unos prima do 10.000 znakova. Koraci se prikazuju samo za brojeve do 64 cifre, da stranica ostane čitljiva.

Šta radi osnova 36?

Koristi cifre 0–9 i slova A–Z, i daje najkraći zapis alfanumeričkim znacima. Često se koristi za kompaktne identifikatore i skraćivače adresa.