Bináris Kalkulátor
Végezz bináris összeadást, kivonást, szorzást és osztást. Válts bináris és decimális számok között. Ingyenes matematikai kalkulátor. Azonnali eredmények.
A Bináris Számrendszer: Hogyan Számolnak a Számítógépek
A bináris számrendszer (bázis-2) csak két számjegyet használ — 0 és 1-et —, amelyeket bináris számjegyeknek (bits) nevezünk. Minden számítógép, mobiltelefon és digitális eszköz belsőleg tárolja és feldolgozza az információt binárisan, mert az elektromos körök megbízhatóan képesek kétféle állapotot képviselni: magas feszültség (1) és alacsony feszültség (0).
Minden hely a bináris számban egy 2-hatalomot képvisel, balról jobbra növekvő sorrendben:
| Hely | 2⁷ | 2⁶ | 2⁵ | 2⁴ | 2³ | 2² | 2¹ | 2⁰ |
|---|---|---|---|---|---|---|---|---|
| Érték | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Bináris-decimális átalakítás: Szorozzuk össze minden bitet a helyének értékével és összegyük az eredményeket.
Példa: 10110101₂ = 1×128 + 0×64 + 1×32 + 1×16 + 0×8 + 1×4 + 0×2 + 1×1 = 128 + 32 + 16 + 4 + 1 = 181
Decimális-bináris átalakítás: Ismételten osztjuk 2-vel, és minden lépésnél rögzítjük a maradékot, majd a maradékokat olvassuk fel aljáról felfelé.
Példa: 181-et binárisba konvertáljuk:
- 181 ÷ 2 = 90 maradék 1
- 90 ÷ 2 = 45 maradék 0
- 45 ÷ 2 = 22 maradék 1
- 22 ÷ 2 = 11 maradék 0
- 11 ÷ 2 = 5 maradék 1
- 5 ÷ 2 = 2 maradék 1
- 2 ÷ 2 = 1 maradék 0
- 1 ÷ 2 = 0 maradék 1
Olvassuk fel a maradékokat aljáról felfelé: 10110101₂ ✓
Bináris Aritmetika: Összegzés, Kivonás és Szorzás
A bináris aritmetika ugyanazokat a szabályokat követi, mint a decimális, de a szállítások a 2 helyett a 10-nél történnek.
Bináris összegzési szabályok: 0+0=0, 0+1=1, 1+0=1, 1+1=10 (szállítás 1), 1+1+1=11 (szállítás 1)
Példa: 1011₂ + 1101₂ (11 + 13 = 24)
1011 + 1101 ------ 11000
Jobbról balra haladva: 1+1=10 (írd 0, szállítás 1); 1+0+1=10 (írd 0, szállítás 1); 0+1+1=10 (írd 0, szállítás 1); 1+1+1=11 (írd 1, szállítás 1); a végső szállítás írja 1. Eredmény: 11000₂ = 24 ✓
Two's Complement (bináris kivonás): A számítógépek a negatív számokat és a kivonást a kétjegyű komplementummal kezelik. A kétjegyű komplementum meghatározásához fordítsuk meg minden bitet, majd adjunk hozzá 1-et.
Példa: −13 8-bites kétjegyű komplementuma: +13 = 00001101₂ → fordítsuk meg minden bitet → 11110010₂ → adjunk hozzá 1-et → 11110011₂
Ez lehetővé teszi a kivonást a szorzásra való átalakításával: 20 − 13 = 20 + (−13).
Bináris szorzás elegáns: minden részterméket vagy 0 (0-val való szorzás) vagy a szám maga (1-gyel való szorzás) adja, amelyet balra eltolva szorozunk. Példa: 1011₂ × 101₂ (11 × 5 = 55):
1011
× 101
-----
1011 (1011 × 1)
0000 (1011 × 0, eltolva)
1011 (1011 × 1, eltolva kétszer)
-------
110111₂ = 55 ✓
Bináris a Számítógépekben: Bit, Bajt és Adatméret
A bináris egységek megértése elengedhetetlen a számítógépekkel, tárolással vagy hálózati sebességgel foglalkozó számára:
| Egység | Méret | Maximum érték (nem negatív) | Gyakori felhasználás |
|---|---|---|---|
| Bit | 1 bináris számjegy | 1 | Logikai jelző, egy bináris érték |
| Nibble | 4 bit | 15 (hex: F) | Egy hexadecimális számjegy |
| Bajt | 8 bit | 255 | Egy karakter (ASCII), színcsatorna |
| Szó | 16 bit | 65 535 | 16 bites régi rendszerek, Unicode alap |
| Double Word (DWORD) | 32 bit | 4 294 967 295 | 32 bites egész számok, IPv4-címek |
| Quad Word (QWORD) | 64 bit | 18 446 744 073 709 551 615 | Modern egész számok, mutatók, időbélyegek |
Színértékek: A webes színek 24 bites RGB-t használnak (8 bit színcsatorna). #FF5733 = R:255, G:87, B:51. Minden 8 bites csatorna 256 árnyalatot képviselhet (0–255). Teljes lehetséges szín: 256³ = 16 777 216 (kb. 16,7 millió).
Unix/Linux fájljogosultságai: rwxr-xr-- = 111 101 100 binárisban = 7, 5, 4 oktálban = chmod 754. Minden 3 bitcsoportja a tulajdonosnak (r=4), a csoportnak (w=2) és a többieknek (x=1) olvasási (r), írására (w) és végrehajtására (x) jogosultságát képviseli.
Bitwise Műveletek és alkalmazásuk
Bitwise műveletek manipulálják az egész számok egyes biteit. Alapvetőek a low-level programozás, a kriptográfia, a hálózati programozás és a teljesítménykritikus kód számára.
| Művelet | Szimbólum | Viselkedés | Példa |
|---|---|---|---|
| És | & | 1 ha mindkét bit 1 | 1010 & 1100 = 1000 |
| Vagy | | | 1 ha bármelyik bit 1 | 1010 | 1100 = 1110 |
| XOR | ^ | 1 ha a bitek különböznek | 1010 ^ 1100 = 0110 |
| Negál | ~ | Forgatja meg az összes bitet | ~1010 = 0101 |
| Balra Shift | << | Shiftelje a biteket balra (×2 minden shiftelés) | 1011 << 1 = 10110 (×2) |
| Jobbra Shift | >> | Shiftelje a biteket jobbra (÷2 minden shiftelés) | 1011 >> 1 = 0101 (÷2) |
Praktikus alkalmazások:
- Bit maskolás: Ellenőrizze, hogy egy adott bit be van-e állítva:
ha (flags & 0b0100) { ... }— ellenőrzi, hogy a 2. bit 1-e. - Bit beállítása:
flags = flags | 0b0100— beállítja a 2. bitet 1-re, függetlenül a jelenlegi értékétől. - Bit törlése:
flags = flags & ~0b0100— törli a 2. bitet 0-ra. - Gyors szorzás/divízió 2 hatalommal:
n << 3= n × 8;n >> 2= n ÷ 4. A bit shiftelés CPU-szintű művelet, jelentősen gyorsabb, mint a szorzás. - Even/odd ellenőrzés:
ha (n & 1) { /* páros */ }— a bármely páros szám utolsó bitje mindig 1.
Number Systems Összehasonlítása: Bináris, Oktális, Decimális, Hexadecimális
A számítógépes tudomány négy számrendszerrel dolgozik, mindegyik más-más kontextusban alkalmas:
| Számrendszer | Alap | Jelek | Általános használat |
|---|---|---|---|
| Bináris (alap-2) | 2 | 0, 1 | Processzor műveletek, tárolás, logika |
| Oktális (alap-8) | 8 | 0–7 | Unix fájl-engedélyek, régebbi rendszerek |
| Decimális (alap-10) | 10 | 0–9 | Olvasható számok emberi olvasztáshoz |
| Hexadecimális (alap-16) | 16 | 0–9, A–F | Memóriacímek, színkódok, gépi kód |
Gyors átalakítás: bináris ↔ hex (4 bináris jel 1 hexadecimális jel):
| Bináris | Hex | Decimális | Bináris | Hex | Decimális |
|---|---|---|---|---|---|
| 0000 | 0 | 0 | 1000 | 8 | 8 |
| 0001 | 1 | 1 | 1001 | 9 | 9 |
| 0010 | 2 | 2 | 1010 | A | 10 |
| 0011 | 3 | 3 | 1011 | B | 11 |
| 0100 | 4 | 4 | 1100 | C | 12 |
| 0101 | 5 | 5 | 1101 | D | 13 |
| 0110 | 6 | 6 | 1110 | E | 14 |
| 0111 | 7 | 7 | 1111 | F | 15 |
A 4-bites csoportosítás miatt a hexadecimális rendszer rendkívül hasznos a bináris adatok kompakt megjelenítésére: a 32-bites érték 11001010 00111111 10110101 00001100 sokkal könnyebb megjeleníteni, mint CA3FB50C.
Bináris a hálózatban: IP-címek és alhálózati maszkok
A bináris megértése alapvető a hálózati mérnökök számára, mivel az IPv4-címek alapvetően 32-bites bináris számok, és az alhálózatok megosztása teljesen bináris műveleteken alapul.
Egy IPv4-cím, például 192.168.1.100 a 32-bites bináris érték:
11000000.10101000.00000001.01100100
Egy alhálózati maszk meghatározza, hogy mely része az címet az alhálózatot, és melyik a gépet azonosítja. A 255.255.255.0 bináris értéke:
11111111.11111111.11111111.00000000
A bináris AND művelettel az IP-cím és az alhálózati maszk adja az alhálózati címet:
| Összetevő | Decimális | Bináris |
|---|---|---|
| IP-cím | 192.168.1.100 | 11000000.10101000.00000001.01100100 |
| Alhálózati maszk | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
| Alhálózat (AND) | 192.168.1.0 | 11000000.10101000.00000001.00000000 |
A CIDR-jelek (pl. /24) elmondják, hogy hány vezető 1-bites van az alhálózati maszkban. Egy /24 maszk 24 1-gel kezdődik, és 8-zel végződik, ami 2⁸ - 2 = 254 használható géphálózatot tesz lehetővé. Egy /16 maszk 65 534 géphálózatot tesz lehetővé. A hálózati mérnökök napi szintű bináris számításokat végeznek a hálózatok megosztásához, a lefedettségi címvonalak kiszámításához és a útválasztási hibák kijavításához.
Bináris a kriptográfia és a biztonságban
A modern kriptográfiai algoritmusok teljes mértékben a bináris szinten működnek, egyedül a biteket manipulálják kombinálva a XOR, a biteltolódás és a helyettesítési műveletek segítségével. A bináris megértése a digitális biztonság működésének kulcsa.
XOR kódolás (a modern kódok alapja): A XOR egy egyedi tulajdonsággal rendelkezik — ugyanaz a kulcs két alkalommal való alkalmazása visszaadja az eredeti értéket: A ⊕ K ⊕ K = A. Ez teszi a XOR-t a stream kódok és az egy alkalomra kész kódok alapjává.
Példa: a 01001101 (a 'M' ASCII-kódjának) kódolása kulccsal 10110010:
- Plaintext: 01001101
- Kulcs: 10110010
- XOR (kódolás): 11111111
- XOR ismét ugyanazzal a kulccsal (decódolás): 01001101 = 'M' ✓
A modern kódolásban használt kulcsméretek: A AES-128 128-bites kulcsot használ, ami 2¹²⁸ ≈ 3,4 × 10³⁸ lehetséges kulcsot jelent — több, mint az megfigyelhető univerzum atomjainak száma. A AES-256 256-bites kulcsot használ 2²⁵⁶ lehetséges kulccsal. A leggyorsabb szuperszámítógépek sem tudják bruteforce-elni ezeket a kulcsmezőket. Minden további bit kettővel növeli a keresési területet, ezért a kulcs hossza exponenciálisan fontos a kriptográfiában.
Hash függvények, mint a SHA-256, 256-bites (32-bites) bináris kimenetet állítanak elő bármilyen bemenetből. Egyetlen bitváltozás a bemenetben teljesen más hashet eredményez — egy tulajdonság, amelyet "árvízhatásnak" neveznek, amely hasznos a adatintegritás ellenőrzésére, a jelszavak tárolására és a blockchain technológiára.
Bináris és kvantum számítás: Míg a klasszikus számítógépek bináris bitet (0 vagy 1) használnak, a kvantum számítógépek kvantum bitet (qubitot) használnak, amely egyszerre mindkét állapotban létezhet. Egy klasszikus 256-bites kulcsnak 2²⁵⁶ lehetséges értéke van, amelyeket sorban kell ellenőrizni; egy kvantum számítógép, amelyet Grover algoritmus futtat, ezt a területet √(2²⁵⁶) = 2¹²⁸ műveletben keresi meg. Ezért fejlesztenek postkvantum kriptográfiát — hogy bináris alapú kódolási módszereket hozzanak létre, amelyek biztonságosak maradnak a kvantum ellenfelekkel szemben.
Sokszor feltett kérdések
Miért használják a számítógépek a bináris helyett a decimális számrendszert?
A elektroncsövek a legmegbízhatóbbak, ha csak két különböző állapotban vannak: bekapcsolva (magas feszültség ≈ 1) és kikapcsolva (alacsony feszültség ≈ 0). A 10 különböző állapotot jelentő decimális számok megjelenítése sokkal pontosabb feszültség-ellenőrzést és sokkal hajlamosabb a zajra a bináris számrendszerhez képest. A bináris egyszerűsége lehetővé teszi, hogy milliárdok tranzisztor működjön megbízhatóan GHz sebességgel milliárd műveletet másodpercenként.
Milyen nagy számot képes tartalmazni egy byte?
Egy byte (8 bit) 2⁸ = 256 különböző értéket képes megjeleníteni. Az unsigned számok esetében: 0-tól 255-ig. A signed számok (kétjelű kiegészítés) esetében: -128-tól 127-ig. A maximális unsigned byte érték binárisan 11111111₂ = 255; hexben FF.
Hogyan konvertálható egy negatív szám binárisára?
Használjuk a kétjelű kiegészítést: (1) Konvertáljuk a pozitív változatot binárisára, (2) Fordítsuk meg az összes bitet (0→1, 1→0), (3) Add 1-et. Példa: -13 8-ban: +13 = 00001101₂, fordítsuk meg a bitet = 11110010₂, add 1-et = 11110011₂. Ez a modern számítógépekben a negatív egész számok tárolásának módja.
Mi a különbség a bináris és a hexadecimális számrendszer között?
Mindkettő a számítógépekben használt helyi értékű számrendszer. A bináris (bázis-2) csak 0 és 1-et használ — a számítógépek natív nyelve. A hexadecimális (bázis-16) 0-tól 9-ig és A-tól F-ig használ compactabb kódoláshoz — minden 4 bináris számjegy pontosan egy hexadecimális számjegyre felel meg. A hexadecimális használható memóriacímek, színkódok (#RRGGBB) és gépi kódok esetében, mert tömörebb és olvashatóbb, mint a bináris.
Mi a bitwise műveletek felhasználása?
A bitwise műveletek (és, vagy, XOR, nem, eltolások) manipulálják az egész számokban az egyes biteket. Gyakori felhasználások: bitjelölők és jogosultságok (Unix chmod), páros/páratlan ellenőrzés (n & 1), gyors szorzás/ osztás 2-hatványokkal (biteltolás), titkosítási algoritmusok, hash-függvények, CRC hibakeresési eljárások, hálózati alhálózati maszkok és játékfejlesztés (egyetlen egész szám tárolásához kompaktság).
Mi a bináris lebegőpontos és miért van az, hogy 0,1 + 0,2 ≠ 0,3 a programozásban?
A legtöbb modern számítógép az IEEE 754 bináris lebegőpontos számot használja, amely a decimális tizedeseket binárisan képviseli. Ahogy a 1/3 = 0,3333... nem képviselhető pontosan a decimálisban, a 1/10 sem képviselhető pontosan a binárisban (azt végtelen bináris frakció). Ez kis kerekítési hibához vezet: a legtöbb nyelvben 0,1 + 0,2 = 0,30000000000000004. Használjuk az egész számokat (dolgozzunk centekben, nem dollárban) vagy a decimális könyvtárakat pontos pénzügyi számításokhoz.
Hogyan használják a bináris adatok tárolásában és a fájlméretekben?
A tárolás mértéke a byte-ban (8 bit) van, kilobájtban (1 024 byte), megabájtban (1 024 KB), gigabájtban (1 024 MB), stb. Figyeljünk arra, hogy a merevlemezgyártók SI prefixeket használnak (1 KB = 1 000 byte), míg az operációs rendszerek bináris prefixeket használnak (1 KiB = 1 024 byte), ami a látszólag hiányzó tárhely-diszkréciát okozza, amikor megvásároljuk a tárhelyet. Egy 1 TB-os merevlemez 931 GiB-ben jelenik meg a Windowsban, mert 1 000 000 000 000 ÷ 1 073 741 824 ≈ 931.
Mi a bináris decimális (BCD)?
A BCD a decimális számjegyeket 4 bites bináris csoportokba kódolja: 0=0000, 1=0001, ..., 9=1001. Tehát a decimális 93 a BCD-ben 1001 0011. A BCD-t használják a pénzügyi rendszerekben (megelőzik a lebegőpontos kerekítési hibákat), digitális órákban és kijelzőkben (7-szegmensek kódolják a BCD-t) és régi mainframe rendszerekben. Kompaktabb, mint a tiszta bináris, de kritikus alkalmazásokban elkerüli a decimális-bináris átalakítási hibákat.