Információs technológia

Bináris összeadás

Az összeadás az egyik legalapvetőbb művelet – a számítógépek is ezt tanulják meg először.
Míg mi tízes számrendszerben (p = 10) gondolkodunk, addig a gépek csak két számjegyet ismernek: 0-t és 1-et.

Ezért minden számítógépes művelet – akár képet nézel, akár videót játszol le – a háttérben bináris összeadások és kivonások sokaságából áll.
De mielőtt megnéznénk, hogyan ad össze a gép, gyorsan nézzük meg, mi történik decimális (tízes) rendszerben.

Anime lány magyarázza a bináris összeadást a táblán 1011 + 1101 = 11000 példával.

Decimális összeadás - amit már jól ismersz

A tízes számrendszer a mindennapok alapja – minden szám, amit leírunk vagy kimondunk, ennek a rendszernek az eleme.
Itt minden helyiérték a tíz hatványaival növekszik:
egyesek, tízesek, százasok, ezresek és így tovább.

Amikor két számot összeadunk, jobbról balra haladunk, mindig az egyesek helyiértékétől kezdve.
Ha az adott oszlopban (helyiértéken) az összeg több mint 9, akkor a „tízeseket” átvisszük (carry) a következő, balra eső helyiértékre.
Ez az átvitel ugyanaz a logika, amit majd a bináris összeadásnál is látni fogunk – csak ott 2 lesz a határ, nem 10.

Decimális összeadás – 1827.37 + 3642.96 = 5470.33

1
8
2
7
.
3
7
3
6
4
2
.
9
6
5
4
7
0
.
3
3
Átvitt „1” – annál az oszlopnál jelölve, ahol keletkezett

Példa:

1827.37 + 3642.96 = 5470.33

Lépésenként így működik:

Az utolsó oszlopban: 7 + 6 = 13 → leírjuk a 3-at, és 1-et viszünk át.

A tizedeseknél: 3 + 9 + 1 = 13 → leírjuk a 3-at, viszünk 1-et.

Az egyeseknél: 7 + 2 + 1 = 10 → leírjuk a 0-t, viszünk 1-et.

Tizeseknél 2 + 4 + 1 = 7 → leírjuk a hetet, nem viszünk semmit. 

A százaknál: 8 + 6 = 14 → leírjuk az 4-et, viszünk 1-et a következő oszlopba.

Végül a legbaloldali oszlopban: 1 + 3 + 1 = 5 → leírjuk az 5-öt, már nincs mit továbbvinni.

Így kapjuk meg az eredményt: 5470.33

Bináris összeadá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 összeadás elmélete

A bináris (kettes) számrendszer alapja a 2, tehát minden helyiérték kétszerese az előzőnek:
1, 2, 4, 8, 16, 32, 64…

Összeadásnál itt is helyiértékenként dolgozunk, de mivel csak 0 és 1 létezik, a lehetséges eredmények nagyon egyszerűek:

Bináris összeadás – 1011₂ + 1101₂ = 11000₂

1
0
1
1
1
1
0
1
1
1
0
0
0
A piros „1” az átvitt értéket jelöli annál az oszlopnál, ahol keletkezett.

Bináris összeadás – lépésenként (1011₂ + 1101₂)

Oszlop Művelet Eredmény (binárisan) Leírjuk Átvisszük
1. (jobbról) 1 + 1 10 0 1
2. 1 + 0 + 1 10 0 1
3. 0 + 1 + 1 10 0 1
4. (bal szélső) 1 + 1 + 1 11 1 1

Összeg: 11000₂ (mert az utolsó oszlopból érkező átvitel új, bal szélső bitet ad). Ellenőrzés: 1011₂=11₁₀, 1101₂=13₁₀ → 11+13=24₁₀ = 11000₂.

A kettes számrendszerben csak 0 és 1 van, a „határ” 2.
Ha egy oszlopban az összeg eléri a 2-t, 0-t írunk le és 1-et viszünk tovább (mint tízesnél a 10, csak itt a „bázis” 2).

Haladjunk jobbról balra:
1-es helyiérték: 1 + 1 = 10₂ → leírjuk 0, 1-et visszük a 2-es helyiértékhez.

2-es helyiérték: 1 (carry) + 1 + 0 = 10₂ → leírjuk 0, 1-et visszük a 4-eshez.

4-es helyiérték: 1 (carry) + 0 + 1 = 10₂ → leírjuk 0, 1-et visszük a 8-ashoz.

8-as helyiérték: 1 (carry) + 1 + 1 = 11₂ → leírjuk 1, 1-et visszük a következő (16-os) új helyiértékhez.

A bal szélen az átvitelből létrejön egy új 1-es bit → így kapjuk meg a végeredményt:  11000₂.

Gyakoroljunk: bináris összeadásokat

1. feladat: 10101₂ + 1110₂

Megoldás

Eredmény: 100011₂

10101₂ (=21₁₀) + 1110₂ (=14₁₀) = 35₁₀ = 100011₂

2. feladat: 110111₂ + 10101₂
Megoldás

Eredmény: 1001100₂

55₁₀ + 21₁₀ = 76₁₀

3. feladat: 1001.11₂ + 11.01₂

Megoldás

Eredmény: 1101.00₂

Tört rész: .11 + .01 = 1.00 → átvitel 1
Egész rész: 1001 + 11 + 1 = 1101
9.75₁₀ + 3.25₁₀ = 13.0₁₀

4. feladat: 1010.001₂ + 11.111₂

Megoldás

Eredmény: 1110.000₂

Tört rész: .001 + .111 = 1.000 → átvitel 1
Egész rész: 1010 + 11 + 1 = 1110
10.125₁₀ + 3.875₁₀ = 14.0₁₀

5. feladat: 11101₂ + 11101₂

Megoldás

Eredmény: 111010₂

29₁₀ + 29₁₀ = 58₁₀

6. feladat: 10001101₂ + 1111001₂

Megoldás

Eredmény: 100000110₂

141₁₀ + 121₁₀ = 262₁₀

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

Legkisebb és legnagyobb decimális érték

Legkisebb és legnagyobb decimális érték

Ebben a leckében megtanuljuk, mit jelent egy számrendszerben a legkisebb és legnagyobb decimális érték. Megnézzük, hogyan lehet kiszámolni, meddig terjedhetnek a számok egy adott alapú rendszerben. Közben kiderül, hogy minden rendszernek megvannak a határai, de a...

bővebben
Helyiérték

Helyiérték

Nem elég tudni, hogy valahol egy egyes, kettes vagy hármas szám szerepel, azt is kell tudni, hogy hol van az a számjegy és mennyit ér ott.  Ebben a leckében megmutatjuk, hogyan lesz a tizedesvesszőn innen és túl minden szám mögött logika és szabály.  Ne aggódj, nem...

bővebben
Endinaitás

Endinaitás

Mi az az endianitás? Az endianitás lényege, hogy meghatározza, milyen sorrendben tárolja és olvassa ki a számítógép a több byte-ból álló adatokat.Másképp fogalmazva: amikor a gép elment egy számot, eldönti, melyik byte kerüljön előre és melyik hátra – ez alapján fogja...

bővebben