Információs technológia

Bináris kivonás

A bináris kivonás elsőre bonyolultnak tűnhet, de valójában ugyanaz az elv, mint a tízes számrendszerben – csak itt 0 és 1 állnak rendelkezésre. Ha az adott oszlopban a kisebbítendő számjegy kisebb, mint amit levonunk, „kölcsön kell kérnünk” a következő helyiértékről – ezt nevezzük átvitelnek vagy kölcsönvételnek (borrow).
Az ilyen műveletek megértése kulcsfontosságú az informatika és a digitális logika világában, hiszen minden számítógép ezzel dolgozik. Nézzük, hogyan zajlik mindez lépésről lépésre, látványos példákkal!

Anime lány magyarázza a bináris kivonás lépéseit egy digitális táblán, 0 és 1 számok között.

Hogyan működik a kivonás tizes számrendszerben?

A tízes számrendszerben a kivonást jobbról balra haladva, helyiértékenként végezzük.
Ha a kisebbítendő számjegy nagyobb vagy egyenlő a kivonandóval, egyszerűen elvégezzük a műveletet.
Ha azonban a kivonandó nagyobb, kölcsön kell kérnünk egyet a következő helyiértékről — ezt nevezzük kölcsönvételnek (borrow).

Decimális kivonás – 3642.96 − 1827.37 = 1815.59

−1
−1
−1
3
6
4
2
.
9
6
1
8
2
7
.
3
7
1
8
1
5
.
5
9
🔴 Piros jel: **innen vettünk kölcsön 1-et** a jobbra lévő helyiértéknek.

A tízes számrendszerben a helyiértékek 10-es hatványai szerint csökkennek balról jobbra haladva.
Amikor két számot kivonunk, jobbról balra haladunk.
Ha egy adott helyiértéken a kisebbítendő számjegy kisebb, mint a kivonandó számjegy, akkor kölcsönzünk („borrow”) a következő helyiértékből.

A „kölcsönvétel” során az adott helyiértéken 10-et hozzáadunk az aktuális számhoz, a balra lévő helyiértéken pedig 1-gyel csökkentjük az ottani számjegyet.

Ahol a felső szám kisebb az alsónál, ott kölcsönzést végzünk. Az ábra alján a kis nyíl jelzi, honnan „vettünk át” 1-et. Így kapjuk meg helyesen az eredményt: 1815.59

Bináris kivonás

Most, hogy a decimális összeadás menetét már értjük, nézzük, hogyan működik ugyanez a bináris számrendszerben — ahol csak 0 és 1 létezhet.

Bináris kivonás – 10000₂ − 00101₂ = 01011₂

1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
Piros nyíl: **ahonnan kölcsön adtunk 1-et** (a balra lévő helyiértékből → jobbra).

Bináris kivonás – lépésenként (10000₂ − 00101₂)

Oszlop Művelet Eredmény (binárisan) Leírjuk Kölcsönzünk
1. (1-es) 0 − 1 → 10 − 1 1 1 1
2. (2-es) (0 − előző kölcsön) − 0 → 10 − 1 1 1 1
3. (4-es) (0 − kölcsön) − 1 → 10 − 1 0 0 1
4. (8-as) (0 − kölcsön) − 0 → 10 − 1 1 1 1
5. (16-os, bal szélső) (1 − kölcsön) − 0 0 0

Eredmény: 01011₂ (5 jegy, vezető nullával).
Ellenőrzés: 10000₂ = 16₁₀, 00101₂ = 5₁₀ → 16 − 5 = 11₁₀ = 01011₂.

Mi történik pontosan?

 

1. oszlop (1-es helyiérték)

  • Művelet: 0 − 1 → 10 − 1

  • Mi történik: A kisebbítendő (felső szám) utolsó bitje 0, a kivonandó (alsó) 1.
    0-ból nem tudunk 1-et kivonni, ezért kölcsön kell kérnünk a bal oldali (2-es helyiértékű) bitből.
    A balról érkező 1 binárisan 10₂-nek felel meg → így a művelet 10 − 1 = 1.

  • Leírjuk: 1

  • Kölcsönzünk: ✅ Igen, mert a 0-ból nem tudtunk kivonni.

2. oszlop (2-es helyiérték)

  • Művelet: (0 − előző kölcsön) − 0 → 10 − 1

  • Mi történik: Eredetileg 0 volt ezen a helyen, de az előző oszlopból elvettünk 1-et, így most még kevesebb maradt — gyakorlatilag „−1” állapotban vagyunk.
    Itt is kölcsön kell kérnünk a következő (4-es) helyiértékből.
    A kölcsön után 10 − 1 = 1.

  • Leírjuk: 1

  • Kölcsönzünk: ✅ Igen, tovább kellett adni.

3. oszlop (4-es helyiérték)

  • 0 − 1 → nem megy → kölcsön kell a 8-as helyiértékből

  • De! már csökkentett értékkel indult, tehát a végeredmény 0 lesz
    ❌ leírjuk: 0

4. oszlop (8-as helyiérték)

  • 0 − 0, de kölcsönzött innen a 4-es → marad −1, ezért újra kölcsön a 16-osból

  • 10 − 1 = 1
    ✅ leírjuk: 1

5. oszlop (16-os helyiérték)

  • 1 − (kölcsön) = 0
    ✅ leírjuk: 0

Gyakoroljunk: bináris kivonásokat

1. feladat: 10000₂ − 00101₂

Megoldás

Eredmény: 01011₂
10000₂ (=16₁₀) − 00101₂ (=5₁₀) = 11₁₀ = 01011₂

2. feladat: 11101₂ − 10110₂
Megoldás

Eredmény: 00111₂
11101₂ (=29₁₀) − 10110₂ (=22₁₀) = 7₁₀ = 00111₂

3. feladat: 11010₂ − 01001₂

Megoldás

Eredmény: 10001₂
11010₂ (=26₁₀) − 01001₂ (=9₁₀) = 17₁₀ = 10001₂

4. feladat: 10111₂ − 00101₂

Megoldás

Eredmény: 10010₂
10111₂ (=23₁₀) − 00101₂ (=5₁₀) = 18₁₀ = 10010₂

5. feladat: 111000₂ − 100011₂

Megoldás

Eredmény: 010101₂
111000₂ (=56₁₀) − 100011₂ (=35₁₀) = 21₁₀ = 010101₂

6. feladat: 101010₂ − 011001₂

Megoldás

Eredmény: 010001₂
101010₂ (=42₁₀) − 011001₂ (=25₁₀) = 17₁₀ = 010001₂

Lecke vége: anime lány V-jelet mutat, laptopon Visual Studio Code, mellette bögre tea és alvó cirmos macska, konfettivel.

Ha szeretnéd folytatni a tanulást, itt válogathatsz az információs technológia anyagok között

Fixpontos számrendszerek

Fixpontos számrendszerek

A számítógépek világa tele van különleges logikával – és a fixpontos számrendszerek pont egy olyan téma, ami elsőre bonyolultnak tűnhet, de valójában nagyon izgalmas!Ebben a leckében anime-lány kalauzunk segít megérteni, hogyan működnek ezek a rendszerek: mit jelent a...

bővebben
Előjeles kettes komplemens

Előjeles kettes komplemens

Az előző leckében már megtanultuk, hogyan működik a 2’s komplemens,és azt is láttuk, hogy ez a módszer teszi lehetővé, hogy a számítógép kivonást is összeadással tudjon elvégezni.(Aki lemaradt róla, itt tudja bepótolni 👉 Kettes komplemens – avagy hogyan gondolkodik a...

bővebben
1’s komplemens – így fordítja meg a gép a biteket

1’s komplemens – így fordítja meg a gép a biteket

Képzeld el, hogy a számítógép minden 0-t 1-re, és minden 1-et 0-ra cserél — ez az 1’s komplemens varázsa. 💡Ezzel a trükkel a gép a negatív számokat is el tudja tárolni anélkül, hogy külön „mínuszjelet” használná.A mai leckében anime-lányunk megmutatja, hogyan...

bővebben