Gottfried Wilhelm Leibniz (Lipcse, 1646. július 1. – Hannover, 1716. november 14.) polihisztor: jogász, diplomata, történész, matematikus, fizikus és filozófus egyszerre. Nagy Frigyes azt mondta róla: „önmagában egy akadémia”.
Leibniz a XVII. század vége és a XVIII. század eleje között alkotott, egyike volt a német felvilágosodás alapítóinak. Newtontól függetlenül létrehozta a matematikai analízist. Leibniz hozzájárult a formális logika megteremtéséhez, az univerzális, tudományos kalkulus bevezetésével - Descartes-hoz hasonlóan - az általános megismerési módszert kereste.
A kettes számrendszer pontos leírását is ő adta meg először az Explication de l'Arithmétique Binaire című könyvében.
Az alapvető matematikai műveleteket bináris számokkal is elvégezhetjük. A bináris elven működő számítógépek is ilyen módon működnek.
A digitális számítógépekben az Aritmetikai és Logikai Egység (Arithmetical Logical Unit, ALU) végzi ezeket a műveleteket.
Ebben a leckében áttekintjük és példával megmutatjuk a:
Ha két egybites számot összeadunk, a kimenetel négyféle lehet:
0+0=01+0=10+1=11+1=10
Az összeadást ugyanúgy végezzük, mint tízes számrendszerben. Az egyes helyi-értéktől kezdve összeadjuk a biteket és folytatjuk a magasabb helyi-értékek felé.
Látható, hogy az eredmény nem minden esetben fér el egy biten. Amikor az összeadáskor olyan eredményt kapunk, amelyiknél átvitel van, akkor egy bit túlcsordul a magasabb helyi-érték irányában. Tulajdonképpen a fenti táblázatot ki kell egészítenünk úgy, hogy a két bit összeadásakor a túlcsordulás bitet is figyelembe vesszük.
0+0+0=00+0+1=10+1+0=10+1+1=101+1+1=11
1001101 +0010010 -------- 1011111
Az összeadást ugyanúgy végezzük, mint tízes számrendszerben. Az egyes helyi-értéktől kezdve összeadjuk a biteket és folytatjuk a magasabb helyi-értékek felé.
11 1 <- Átvitelbitek 1001001 + 0011001 --------------- 1100010
Ebben a példában már vannak átvitt bitek is, ezeket a legfelső sorban jelöltük kék színnel. Az összeadás itt is ugyanúgy zajlik, mint a tízes számrendszerben.
11 <- Átvitelbitek 1000111 + 0010110 --------- 1011101
Ebben a példában is vannak átvitt bitek. Figyeljük meg, hogy van olyan szituáció, amikor az átvitelbit további helyi-értékek felé csúszik el.
Negatív számok esetén a komplemens alapú számábrázolás az egyik lehetséges számábrázolási forma. Egy bináris szám egyes komplemensét úgy kapjuk meg, hogy megcseréljük a biteket: 0-ból 1 lesz, 1-ből 0.
Például a 1010 0011
bitsorozat egyes komplemense 0101 1100
lesz.
Azért ennek az ábrázolásnak vannak hátrányai. Például a nullát a 0000 0000
és az 1111 1111
egyaránt reprezentálja.
Egy bináris szám kettes komplemensét úgy képezzük, hogy az egyes komplemenshez hozzáadunk egyet.
Tehát legyen az eredeti szám 1010 0011
.
Egyes komplemense 0101 1100
.
Kettes komplemense: 01011100 + 1 = 01011101
.
A kivonás helyett a kivonandó kettes komplemensét adjuk hozzá a kisebbítendőhöz. Vegyünk egy példát:
7(10)−5(10)
Binárisan ez így nézne ki: 0111(2)−0101(2)
Az 5 egyes komplemense 1010, kettes komplemense 1011 A kivonást tehát felcseréljük a kivonandó kettes komplemensének hozzáadásához
0111 +1011 ----- 10010
Az eredményből egyszerűen elhagyjuk a legnagyobb helyi-értékű bitet. Az eredmény tehát:
0111(2)−0101(2)=0010(2)
7(10)−5(10)=2(10)
0101 * 0111 ------ 0000 0101 0101 0101 ------- 100011
Tízes számrendszerben ez 35-öt ad - ahogyan vártuk.