Konverter brojevnih sistema s podrškom za negativne brojeve
Svijet računara radi na nulama i jedinicama, ali ljudi misle u deseticama. A programeri? Oni moraju razumjeti sve između. Bez obzira da li debugirate niskonaponski kod, postavljate boje u CSS-u, izračunavate IP maske ili rješavate zadatke iz informatike, naići ćete na potrebu za konverzijom brojeva između sistema.
Uobičajeni kalkulatori na Windowsima ili mobilnim uređajima su često spori i nezgrapni. Naš inteligentni konverter brojevnih sistema dizajniran je od strane developera za developere. Nudi trenutnu konverziju u realnom vremenu, podršku za ekstremno velike brojeve i, kao jedan od rijetkih online alata, pravilno obrađuje negativne brojeve u binarnom obliku.
Šta ovaj konverter brojevnih sistema može?
Prilikom razvoja ovog widgeta, fokusirali smo se na rješavanje najčešćih problema programera:
- Reaktivnost u realnom vremenu: Nema dugmeta “Izračunaj”. Počnite pisati u HEX polje i odmah ćete vidjeti kako se mijenjaju BIN i DEC.
- Podrška za negativne brojeve (Signed Integers): Većina online konvertera zakaže kada upišete
-5. Mi ne. Zahvaljujući opciji bitne dubine (8, 16, 32, 64 bita) simuliramo precizno ponašanje procesora koristeći takozvani dvokomplement. - Čitljivost binarnog koda: Gledanje u
1110101011011110zamara oči. Naš alat može automatski formatirati izlaz nakon svaka 4 bita (nibbles) u1110 1010 1101 1110, što drastično smanjuje greške pri prepisivanju. - BigInt podrška: Trebate pretvoriti 64-bitni broj ili hash? Standardni JavaScript završava na broju $2^{53}$. Naš engine može obraditi brojeve proizvoljne dužine u režimu “Unsigned”.
Vodič kroz brojevne sisteme: Kada koji koristiti?
1. Decimalni sistem (DEC - Decimal)
- Baza: 10 (cifre 0-9)
- Upotreba: Svakodnevni život, finansije, brojanje petlji u kodu.
- Zanimljivost: Računari ga ne razumiju, moraju ga konvertovati u binarni.
2. Binarni sistem (BIN - Binary)
- Baza: 2 (cifre 0, 1)
- Upotreba: Mašinski kod, logička kola, maskiranje IP adresa.
- Savjet: Svaka cifra predstavlja jedan bit. 8 bitova čini 1 bajt (Byte).
3. Heksadecimalni sistem (HEX - Hexadecimal)
- Baza: 16 (cifre 0-9, slova A-F)
- Upotreba: Kompaktan zapis binarnog koda. Jedan HEX znak predstavlja tačno 4 bita (nibble). Dva znaka (npr.
FF) predstavljaju cijeli bajt. - Primjeri:
- Boje na webu:
#FF5733(Crvena, Zelena, Plava). - MAC adrese:
00:1A:2B:3C:4D:5E. - Ispisi memorije (Memory dumps).
- Boje na webu:
4. Oktalni sistem (OCT - Octal)
- Baza: 8 (cifre 0-7)
- Upotreba: Historijski stariji računari, danas posebno Linux dozvole (chmod).
- Primjer: Naredba
chmod 755postavlja dozvole rwx-rx-rx (čitanje, pisanje, izvršavanje).
Kako pravilno raditi s negativnim brojevima?
Ovo je najnaprednija funkcija našeg pretvarača. U računarskoj memoriji ne postoji znak “minus”. Da bi računar pohranio negativan broj, najčešće koristi metodu dvokomplementa (Two’s Complement).
Rezultat konverzije negativnog broja ovisi o tome koliko bitova je varijabli dodijeljeno. Zato u gornjoj traci pronađite prekidač Bitna dubina.
Primjer: Kako izgleda broj -5?
Isprobajte sami u našem konverteru:
-
Postavite dubinu na 8-bit.
- Unesite u DEC:
-5. - Rezultat HEX:
FB. - Rezultat BIN:
1111 1011. - Objašnjenje: $256 - 5 = 251$ (što je FB).
- Unesite u DEC:
-
Postavite dubinu na 16-bit.
- Unesite u DEC:
-5. - Rezultat HEX:
FFFB. - Objašnjenje: Budući da imamo više prostora, “jedinice” popunjavaju ostatak prostora lijevo.
- Unesite u DEC:
-
Postavite dubinu na Samo pozitivni (Unsigned).
- Ako unesete
-5, polje će postati crveno. Ovaj režim ne podržava negativne brojeve, jer bi zahtijevao beskonačno mnogo jedinica.
- Ako unesete
Profi savjet: Ako radite s bojama ili IP adresama, uvijek koristite režim “Samo pozitivni”. Ako radite zadatke za C/C++ ili asembler, prebacite na 32-bit ili 64-bit.
Tabela brzih konverzija (Cheat Sheet)
Za brzu orijentaciju, ovdje navodimo osnovne vrijednosti koje bi svaki “IT-jevac” trebao znati napamet.
| Decimalno (DEC) | Heksadecimalno (HEX) | Binarno (BIN) | Napomena |
|---|---|---|---|
| 0 | 00 | 0000 | Nula |
| 1 | 01 | 0001 | |
| 10 | 0A | 1010 | |
| 15 | 0F | 1111 | Maksimalna vrijednost 4 bita (Nibble) |
| 16 | 10 | 0001 0000 | |
| 127 | 7F | 0111 1111 | Maksimalna vrijednost za potpisani 8-bit (char) |
| 255 | FF | 1111 1111 | Maksimalna vrijednost za nepotpisani 8-bit (bajt) |
| 65 535 | FFFF | … | Maksimalna vrijednost za 16-bit |
Često postavljana pitanja (FAQ)
Šta znači "Bit Depth" (Bitna dubina)?
Određuje koliko memorije imamo rezervirano za broj.- 8-bit: Vrijednosti 0 do 255 (ili -128 do 127). Odgovara tipu
charilibyte. - 16-bit: Vrijednosti do 65 535. Odgovara tipu
short. - 32-bit: Standardni
intu modernim jezicima. - 64-bit: Za vrlo velike brojeve (
long long,BigInt).
Zašto se broj 255 u HEX-u piše kao FF?
Heksadecimalni sistem ima 16 cifara (0-9 i A-F), gdje F ima vrijednost 15. BrojFF se izračunava kao: $(15 \times 16^1) + (15 \times 16^0) = 240 + 15 = 255$.
Kako pretvoriti HEX boju u RGB?
Boja na webu, npr.#E05412, sastoji se od tri bajta: Crvena (E0), Zelena (54), Plava (12).
Unesite u naš konverter "E0" u HEX polje -> dobit ćete 224.
Unesite "54" -> dobit ćete 84.
Unesite "12" -> dobit ćete 18.
Rezultat je rgb(224, 84, 18).
Šta znači prefiks 0x, 0b ili 0o?
Da bi programeri razlikovali sisteme, koriste se prefiksi:0x= Heksadecimalni (npr. 0xFF)0b= Binarni (npr. 0b101)0o= Oktalni (npr. 0o755)
Zašto je moje polje postalo crveno?
To je funkcija validacije unosa. To znači da ste unijeli znak koji ne pripada datom sistemu. Naprimjer:- Slovo "G" u HEX (dozvoljeno je samo A-F).
- Cifru "2" u BIN (dozvoljeno je samo 0 i 1).
- Cifru "8" u OCT (dozvoljeno je samo 0-7).