Prevodník číselných sústav (BIN/HEX/DEC/OCT) so zápornými číslami
Svet počítačov beží na nulách a jednotkách, ale ľudia myslia v desiatkach. A programátori? Tí musia rozumieť všetkému medzi tým. Či už debugujete nízkoúrovňový kód, nastavujete farby v CSS, počítate IP masky alebo riešite úlohy z informatiky, narazíte na nutnosť prevádzať čísla medzi sústavami.
Bežné kalkulačky vo Windows alebo na mobile sú často pomalé a neohrabané. Náš inteligentný prevodník číselných sústav bol navrhnutý vývojármi pre vývojárov. Ponúka okamžitú konverziu v reálnom čase, podporu pre extrémne veľké čísla a ako jeden z mála online nástrojov správne zvláda záporné čísla v binárnej podobe.
Čo tento prevodník číselných sústav dokáže?
Pri vývoji tohto widgetu sme sa zamerali na riešenie najčastejších problémov programátorov:
- Reaktivita v reálnom čase: Žiadne tlačidlo “Vypočítať”. Začnite písať do poľa HEX a okamžite vidíte, ako sa mení BIN a DEC.
- Podpora záporných čísel (Signed Integers): Väčšina online prevodníkov zlyhá, keď napíšete
-5. My nie. Vďaka voľbe bitovej šírky (8, 16, 32, 64 bitov) simulujeme presné správanie procesora pomocou tzv. dvojkového doplnku. - Čitateľnosť binárneho kódu: Pozerať na
1110101011011110je únavné. Náš nástroj dokáže výstup automaticky formátovať po 4 bitoch (nibbles) na1110 1010 1101 1110, čo radikálne znižuje chybovosť pri prepisovaní. - BigInt podpora: Potrebujete previesť 64-bitové číslo alebo hash? Štandardný JavaScript končí pri čísle $2^{53}$. Náš engine zvládne ľubovoľne dlhé čísla v režime “Unsigned”.
Sprievodca číselnými sústavami: Kedy ktorú použiť?
1. Desiatková sústava (DEC - Decimal)
- Základ: 10 (číslice 0-9)
- Použitie: Bežný život, financie, počítanie cyklov v kóde.
- Zaujímavosť: Počítače jej nerozumejú, musia si ju prevádzať na binárnu.
2. Dvojková sústava (BIN - Binary)
- Základ: 2 (číslice 0, 1)
- Použitie: Strojový kód, logické hradlá, maskovanie IP adries.
- Tip: Každá číslica predstavuje jeden bit. 8 bitov tvorí 1 bajt (Byte).
3. Šestnástková sústava (HEX - Hexadecimal)
- Základ: 16 (číslice 0-9, písmená A-F)
- Použitie: Kompaktný zápis binárneho kódu. Jeden znak HEX reprezentuje presne 4 bity (nibble). Dva znaky (napr.
FF) reprezentujú celý bajt. - Príklady:
- Farby na webe:
#FF5733(Red, Green, Blue). - MAC adresy:
00:1A:2B:3C:4D:5E. - Výpisy pamäte (Memory dumps).
- Farby na webe:
4. Osmičková sústava (OCT - Octal)
- Základ: 8 (číslice 0-7)
- Použitie: Historicky staršie počítače, dnes najmä Linuxové oprávnenia (chmod).
- Príklad: Príkaz
chmod 755nastavuje práva rwx-rx-rx (čítanie, zápis, spustenie).
Ako správne pracovať so zápornými číslami?
Toto je najpokročilejšia funkcia nášho prevodníka. V počítačovej pamäti neexistuje znamienko “mínus”. Aby počítač uložil záporné číslo, používa najčastejšie metódu dvojkového doplnku (Two’s Complement).
Výsledok prevodu záporného čísla ale závisí od toho, koľko bitov má premenná vyhradených. Preto v hornej lište nájdete prepínač Bitová šírka.
Príklad: Ako vyzerá číslo -5?
Skúste si to sami v našom prevodníku:
-
Nastavte šírku na 8-bit.
- Zadajte do DEC:
-5. - Výsledok HEX:
FB. - Výsledok BIN:
1111 1011. - Vysvetlenie: $256 - 5 = 251$ (čo je FB).
- Zadajte do DEC:
-
Nastavte šírku na 16-bit.
- Zadajte do DEC:
-5. - Výsledok HEX:
FFFB. - Vysvetlenie: Pretože máme viac miesta, “jednotky” vyplnia zvyšok priestoru vľavo.
- Zadajte do DEC:
-
Nastavte šírku na Len kladné (Unsigned).
- Ak zadáte
-5, pole sčervenie. Tento režim nepodporuje záporné čísla, pretože by vyžadoval nekonečne veľa jednotiek.
- Ak zadáte
Profi tip: Ak pracujete s farbami alebo IP adresami, vždy používajte režim “Len kladné”. Ak robíte úlohy do C/C++ alebo assembleru, prepnite na 32-bit alebo 64-bit.
Tabuľka rýchlych prevodov (Cheat Sheet)
Pre rýchlu orientáciu tu uvádzame základné hodnoty, ktoré by mal každý “ajťák” poznať naspamäť.
| Desiatkovo (DEC) | Šestnástkovo (HEX) | Dvojkovo (BIN) | Poznámka |
|---|---|---|---|
| 0 | 00 | 0000 | Nula |
| 1 | 01 | 0001 | |
| 10 | 0A | 1010 | |
| 15 | 0F | 1111 | Maximálna hodnota 4 bitov (Nibble) |
| 16 | 10 | 0001 0000 | |
| 127 | 7F | 0111 1111 | Max hodnota pre signed 8-bit (char) |
| 255 | FF | 1111 1111 | Max hodnota pre unsigned 8-bit (bajt) |
| 65 535 | FFFF | … | Max hodnota pre 16-bit |
Často kladené otázky (FAQ)
Čo znamená "Bit Depth" (Bitová šírka)?
Určuje, koľko pamäte máme pre číslo vyhradené.- 8-bit: Hodnoty 0 až 255 (alebo -128 až 127). Zodpovedá typu
charalebobyte. - 16-bit: Hodnoty do 65 535. Zodpovedá typu
short. - 32-bit: Štandardný
intv moderných jazykoch. - 64-bit: Pre veľmi veľké čísla (
long long,BigInt).
Prečo sa číslo 255 v HEX zapisuje ako FF?
Šestnástková sústava má 16 číslic (0-9 a A-F), kde F má hodnotu 15. ČísloFF sa vypočíta ako: $(15 \times 16^1) + (15 \times 16^0) = 240 + 15 = 255$.
Ako prekonvertujem HEX farbu na RGB?
Farba na webe, napr.#E05412, sa skladá z troch bajtov: Červená (E0), Zelená (54), Modrá (12).
Zadajte do nášho prevodníka "E0" do poľa HEX -> dostanete 224.
Zadajte "54" -> dostanete 84.
Zadajte "12" -> dostanete 18.
Výsledok je rgb(224, 84, 18).
Čo znamená prefix 0x, 0b alebo 0o?
Aby programátori odlíšili sústavy, používajú sa prefixy:0x= Hexadecimálne (napr. 0xFF)0b= Binárne (napr. 0b101)0o= Osmičkové (napr. 0o755)
Prečo mi pole sčervenalo?
To je funkcia validácie vstupu. Znamená to, že ste zadali znak, ktorý do danej sústavy nepatrí. Napríklad:- Písmeno "G" do HEX (povolené je len A-F).
- Číslicu "2" do BIN (povolené je len 0 a 1).
- Číslicu "8" do OCT (povolené je len 0-7).