Pretvarač Brojevnih Sustava s Negativnim Brojevima
Svijet računala radi na nulama i jedinicama, ali ljudi misle u deseticama. A programeri? Oni moraju razumjeti sve između. Bez obzira debugirate li niskorazinski kod, postavljate boje u CSS-u, izračunavate IP maske ili rješavate zadatke iz informatike, naići ćete na potrebu pretvaranja brojeva između sustava.
Uobičajeni kalkulatori u sustavu Windows ili na mobilnom telefonu često su spori i nezgrapni. Naš inteligentni pretvarač brojevnih sustava dizajniran je od strane developera za developere. Nudi trenutnu konverziju u stvarnom vremenu, podršku za izuzetno velike brojeve i, kao jedan od rijetkih online alata, pravilno obrađuje negativne brojeve u binarnom obliku.
Što ovaj pretvarač brojevnih sustava može?
Prilikom razvoja ovog widgeta, fokusirali smo se na rješavanje najčešćih problema programera:
- Reaktivnost u stvarnom vremenu: Nema gumba “Izračunaj”. Počnite tipkati u HEX polje i odmah ćete vidjeti kako se mijenjaju BIN i DEC.
- Podrška za negativne brojeve (Signed Integers): Većina online pretvarača zakaže kada upišete
-5. Mi ne. Zahvaljujući odabiru bitne širine (8, 16, 32, 64 bita), simuliramo precizno ponašanje procesora koristeći takozvani dvojični komplement. - Čitljivost binarnog koda: Gledanje u
1110101011011110je naporno. Naš alat automatski formatira izlaz nakon svaka 4 bita (nibbles) u1110 1010 1101 1110, što radikalno smanjuje pogreške prilikom prepisivanja. - BigInt podrška: Trebate pretvoriti 64-bitni broj ili hash? Standardni JavaScript završava kod broja $2^{53}$. Naš engine može obraditi brojeve proizvoljne duljine u “Unsigned” načinu.
Vodič kroz brojevne sustave: Kada koji koristiti?
1. Decimalni sustav (DEC - Decimal)
- Baza: 10 (znamenke 0-9)
- Upotreba: Svakodnevni život, financije, brojanje petlji u kodu.
- Zanimljivost: Računala ga ne razumiju, moraju ga pretvarati u binarni.
2. Binarni sustav (BIN - Binary)
- Baza: 2 (znamenke 0, 1)
- Upotreba: Strojni kod, logička vrata, maskiranje IP adresa.
- Savjet: Svaka znamenka predstavlja jedan bit. 8 bita čini 1 bajt (Byte).
3. Heksadecimalni sustav (HEX - Hexadecimal)
- Baza: 16 (znamenke 0-9, slova A-F)
- Upotreba: Kompaktan zapis binarnog koda. Jedan HEX znak predstavlja točno 4 bita (nibble). Dva znaka (npr.
FF) predstavljaju cijeli bajt. - Primjeri:
- Boje na webu:
#FF5733(Red, Green, Blue). - MAC adrese:
00:1A:2B:3C:4D:5E. - Ispisi memorije (Memory dumps).
- Boje na webu:
4. Oktalni sustav (OCT - Octal)
- Baza: 8 (znamenke 0-7)
- Upotreba: Povijesno starija računala, danas poglavito Linux dozvole (chmod).
- Primjer: Naredba
chmod 755postavlja prava rwx-rx-rx (čitanje, pisanje, izvršavanje).
Kako ispravno raditi s negativnim brojevima?
Ovo je najnaprednija značajka našeg pretvarača. U računalnoj memoriji ne postoji znak “minus”. Da bi računalo pohranilo negativan broj, najčešće koristi metodu dvojičnog komplementa (Two’s Complement).
Međutim, rezultat pretvorbe negativnog broja ovisi o tome koliko je bitova rezervirano za varijablu. Zato ćete u gornjoj traci pronaći prekidač Bitna širina.
Primjer: Kako izgleda broj -5?
Isprobajte sami u našem pretvaraču:
-
Postavite širinu 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 širinu na 16-bit.
- Unesite u DEC:
-5. - Rezultat HEX:
FFFB. - Objašnjenje: Budući da imamo više mjesta, “jedinice” ispunjavaju ostatak prostora lijevo.
- Unesite u DEC:
-
Postavite širinu na Samo pozitivni (Unsigned).
- Ako unesete
-5, polje će pocrvenjeti. Ovaj način ne podržava negativne brojeve jer bi zahtijevao beskonačno mnogo jedinica.
- Ako unesete
Profesionalni savjet: Ako radite s bojama ili IP adresama, uvijek koristite način “Samo pozitivni”. Ako radite zadatke za C/C++ ili asembler, prebacite se na 32-bit ili 64-bit.
Tablica brzih pretvorbi (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 | Maks. vrijednost za signed 8-bit (char) |
| 255 | FF | 1111 1111 | Maks. vrijednost za unsigned 8-bit (bajt) |
| 65 535 | FFFF | … | Maks. vrijednost za 16-bit |
Često postavljana pitanja (FAQ)
Što znači "Bit Depth" (Bitna širina)?
Određuje koliko je memorije 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 sustav ima 16 znamenaka (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 "E0" u HEX polje našeg pretvarača -> dobit ćete 224.
Unesite "54" -> dobit ćete 84.
Unesite "12" -> dobit ćete 18.
Rezultat je rgb(224, 84, 18).
Što znače prefiksi 0x, 0b ili 0o?
Kako bi programeri razlikovali sustave, koriste se prefiksi:0x= Heksadecimalni (npr. 0xFF)0b= Binarni (npr. 0b101)0o= Oktalni (npr. 0o755)
Zašto je polje pocrvenjelo?
To je funkcija validacije unosa. To znači da ste unijeli znak koji ne pripada danom sustavu. Na primjer:- Slovo "G" u HEX (dopušteno je samo A-F).
- Znamenku "2" u BIN (dopušteno je samo 0 i 1).
- Znamenku "8" u OCT (dopušteno je samo 0-7).