Kako radi konverzija između brojevnih sistema
Osnova (ili radiks) brojevnog sistema je broj cifara koje sistem ima. Decimalni ih ima deset (0–9), binarni dve (0 i 1), oktalni osam, a heksadecimalni šesnaest (0–9, pa A–F). Vrednost zapisanog broja je zbir svake cifre pomnožene osnovom dignutom na stepen njene pozicije, pri čemu se pozicije broje od nule sa desne strane.
Dakle, 1011 binarno je 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11, a FF heksadecimalno je 15×16¹ + 15×16⁰ = 240 + 15 = 255.
Konverzija iz decimalnog u drugu osnovu
- Podelite broj ciljnom osnovom i zapišite ostatak.
- Ponovo podelite količnik i nastavite dok količnik ne postane 0.
- Pročitajte ostatke od poslednjeg ka prvom. To je broj u novoj osnovi.
Za 11 → binarno: 11 ÷ 2 = 5 ost. 1, 5 ÷ 2 = 2 ost. 1, 2 ÷ 2 = 1 ost. 0, 1 ÷ 2 = 0 ost. 1. Čitano odozdo nagore: 1011. Konvertor iznad ispisuje ove korake za svaki broj koji unesete.
Heks i binarno su ista stvar u drugom ruhu
Pošto je 16 = 2⁴, svaka heks cifra je tačno četiri binarne cifre (jedan nibl). Za konverziju zamenite svaku heks cifru njenim 4-bitnim obrascem i obrnuto. 0xBEEF = 1011 1110 1110 1111. Oktalni sistem radi na isti način, sa grupama od po tri bita. Zato programeri više vole heks: to je kompaktan način da se zapišu obrasci bitova.
| Heks | Binarno | Dec | Heks | Binarno | Dec |
|---|---|---|---|---|---|
| 0 | 0000 | 0 | 8 | 1000 | 8 |
| 1 | 0001 | 1 | 9 | 1001 | 9 |
| 2 | 0010 | 2 | A | 1010 | 10 |
| 3 | 0011 | 3 | B | 1011 | 11 |
| 4 | 0100 | 4 | C | 1100 | 12 |
| 5 | 0101 | 5 | D | 1101 | 13 |
| 6 | 0110 | 6 | E | 1110 | 14 |
| 7 | 0111 | 7 | F | 1111 | 15 |
Prefiksi na koje ćete naići u kodu
Većina jezika označava osnovu prefiksom: 0x1F za heks, 0b11111 za binarno, 0o37 (ili vodeća 0 u C-u) za oktalno. Ovaj konvertor prihvata sve njih, a ignoriše i razmake, donje crte i zareze, pa 1111_1111 i 1111 1111 rade podjednako.
Primeri
Pitanja
Kako da ručno pretvorim binarni broj u decimalni?
Ispod cifara, zdesna nalevo, napišite stepene dvojke (1, 2, 4, 8, 16 …), pa saberite one stepene iznad kojih stoji 1. Za 1101 to je 8 + 4 + 1 = 13.
Koliko je 1010 decimalno?
1010 binarno je 8 + 2 = 10 decimalno: jedinice stoje ispod 2³ (8) i 2¹ (2).
Koji je najveći broj sa 8 binarnih cifara?
1111 1111, odnosno 255 (2⁸ − 1). Zato bajt sadrži vrednosti 0–255.
Da li konvertor radi sa velikim brojevima?
Da. Koristi cele brojeve proizvoljne preciznosti, pa se vrednosti preko 64 bita (na primer 256-bitni hešovi zapisani decimalno) konvertuju tačno, bez zaokruživanja.
Kako se obrađuju negativni brojevi?
Vodeći minus se zadržava, a konvertuje se apsolutna vrednost (−10 binarno postaje −1010). Ako vam treba obrazac bitova koji bi CPU sačuvao, dakle dvojični komplement, koristite alat za dvojični komplement, u kome birate širinu u bitovima.
Da li se moj unos šalje na server?
Ne. Konverzija se izvršava u vašem pregledaču. Sajt nema bekend koji prima vaše brojeve.