„Kettes számrendszer” változatai közötti eltérés

[nem ellenőrzött változat][nem ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
8. sor:
[[Fájl:Leibniz binary system 1703.png|thumb|Táblázat Leibniz alapművéből]]
<!-- angolból átvéve, de lehet, hogy inkább a digitális számítógépek történeténél lenne a helye -->
AKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – WikipédiaKettes számrendszer szerkesztése – Wikipédia
A kettes számrendszer pontos leírását először [[Gottfried Wilhelm Leibniz]] adta meg <!--a [[17. század]]ban,-->az [[1703]]-ban megjelent ''[[Explication de l'Arithmétique Binaire]]'' című könyvében.
 
*[[Számrendszerek az informatikában]]
[[1854]]-ben [[George Boole]] megjelentetett egy cikket a később [[Boole-algebra]] néven ismertté váló logikai rendszerről. A cikk mérföldkő volt a [[logika]] történetében, és létfontosságú a bináris [[aritmetika]] áramkörökkel való megvalósításában.
*[[Binárisan kódolt decimális]]
 
[[1937]]-ben [[Claude Shannon]] megírta ''[[A Symbolic Analysis of Relay and Switching Circuits]]'' című, a Boole-algebra és a bináris aritmetika kapcsolókkal és [[Jelfogó|relékkel]] való megvalósítását leíró diplomamunkáját a [[Massachusetts Institute of Technology]]-n, és ezzel megalapozta a [[digitális áramkör]]ök elméletét.
 
[[1946]]-ban a [[Neumann János]] által megalkotott [[Neumann-elvek]] között szerepel a kettes számrendszer mint a számítások számrendszere.
 
==Számolás kettes számrendszerben==
A tízes számrendszerhez hasonlóan a kettes számrendszerben is elvégezhetők a szokásos alapműveletek. Az ehhez szükséges algoritmusok egyszerűbbek, és hatékonyan valósíthatók meg logikai áramkörökkel. A kettes számrendszer bevezetése több előnnyel is járt a számítástechnikában.
 
{| border="0" cellspacing="10" cellpadding="0"
||
{| border="1" cellspacing="0" cellpadding="5"
! style="background-color:#efefef;" |Összeadás
! style="background-color:#efefef;" |Példa
|-
|0 + 0 = 0<br />
0 + 1 = 1<br />
1 + 0 = 1<br />
1 + 1 = 10
|<math>
{\begin{matrix}
&1011_2\\
\operatorname{+}&\ \ \ 11_2\\
\end{matrix}
\over
\begin{matrix}
&\ \ 1110_2\\
\end{matrix}}
</math>
|}
||
{| border="1" cellspacing="0" cellpadding="5"
! style="background-color:#efefef;" |Kivonás
! style="background-color:#efefef;" |Példa
|-
|0 − 0 = 0<br />
0 − 1 = −1<br />
1 − 0 = 1<br />
1 − 1 = 0
||<math>
\begin{matrix}
&1011_2\\
{-\ }&\ \ 111_2\\
\end{matrix}
\over
\begin{matrix}
&\ \ \ \ \ 100_2
\end{matrix}
</math>
|}
|-----
| style="vertical-align:top;"|
{| border="1" cellspacing="0" cellpadding="5"
! style="background-color:#efefef;" |Szorzás
! style="background-color:#efefef;" |Példa
|-
|0 <math>\cdot</math> 0 = 0<br />
0 <math>\cdot</math> 1 = 0<br />
1 <math>\cdot</math> 0 = 0<br />
1 <math>\cdot</math> 1 = 1
||<math>
\begin{matrix}
&1010_2\\
{\cdot}&\ \ \ 11_2\\
\end{matrix}
\over
\begin{matrix}
&11110_2
\end{matrix}
</math>
|}
||
{| border="1" cellspacing="0" cellpadding="5"
! style="background-color:#efefef;" |Osztás
! style="background-color:#efefef;" |Példa
|-
|0 / 0 = n.def.<br />
0 / 1 = 0<br />
1 / 0 = n.def.<br />
1 / 1 = 1
|<math>
\begin{matrix}
&1010_2\\
{/}&\ \ \ 10_2\\
\end{matrix}
\over
\begin{matrix}
&\ \ \ 101_2
\end{matrix}
</math>
|}
|}
 
===Összeadás===
{| border="2" cellpadding="3" cellspacing="0" align="right" style="border-collapse:collapse; text-align: center; background:#eeeeee;"
| <math>A</math>
| <math>B</math>
| <math>M_1</math>
! bgcolor="cccccc" |
| <math>M_2</math>
| <math>E</math>
|-
| 0 || 0 || 0
! bgcolor="cccccc" |
| 0 || 0
|-
| 0 || 0 || 1
! bgcolor="cccccc" |
| 0 || 1
|-
| 0 || 1 || 0
! bgcolor="cccccc" |
|0 || 1
|-
| 0 || 1 || 1
! bgcolor="cccccc" |
| 1 || 0
|-
| 1 || 0 || 0
! bgcolor="cccccc" |
| 0 || 1
|-
| 1 || 0 || 1
! bgcolor="cccccc" |
| 1 || 0
|-
| 1 || 1 || 0
! bgcolor="cccccc" |
| 1 || 0
|-
| 1 || 1 || 1
! bgcolor="cccccc" |
| 1 ||
|}
 
fpokwopqpokfdkopwqkfkopwqkofokwqkofw bsaD
 
wqúőröwakfőúoiseőjtS( ÖHdnvo 3W4324ijo23u98r9u8woijakjlsjfjyxklé BYE MRSUSU
 
A kivonás az összeadáshoz hasonlóan viselkedik.
 
:0 − 0 = 0
:0 − 1 = −1 (a különbség 1, átvitel 1)
:1 − 0 = 1
:1 − 1 = 0
:0 - 1 1 átvitellel = 0 az átvitel 1
:1 - 1 1 átvitellel = 1 az átvitel 1
 
A [[számítógép]]ek a kivonást a kettes komplemens segítségével végzik. A kisebbítendőhöz hozzá kell adni a kivonandó kettes komplementerét. Ez két lépést jelent. Át kell váltani a kivonandót kettes számrendszerbe, majd a bitjeit át kell billenteni, majd 1-et hozzá kell adni. Az így kapott számot és a kisebbítendő bináris számát össze kell adni.
például vonjuk ki a 8-ból az 5-öt.
 
8-5=3
 
8: 1000
5: 0101
5 I: 1010
5 II: 1011
 
Ezeket most össze kell adni:
1000
+1011
----
10011
 
A kapott eredmény az 10011. Itt viszont keletkezik egy felesleges bit, túlcsordulás, amit le kell választani, arra nincs szükség.
1 | 0011
Az így kapott számot, ha vissza váltjuk 10-es számrendszerbe, akkor megkapjuk az eredményt.
0011 = 1+2 = 3
 
===Szorzás===
A
 
Áramköri szinten a szorzást is összeadó áramkörök valósítják meg, kihasználva, hogy a szorzás művelete lebontható sorozatos összeadásokra. Például a decimális 3x4=12 (4+4+4) kifejezést binárisra átírva kapjuk: 0011 x 0100 = 0100 + 0100 + 0100 = 1100
 
===OsztásSzia bnem tom orqwdowodw===
===Osztás összeadással: 11/4 = 2,75 ( 2x4 + 7x0,4 + 5x0,04 ). 1011/0100 = 10,11. A hányados 1-es helyiértékeivel vissza szorozva 10x0100 + 0.1x0100 + 0.01x0100 = 1011, ezzel megkaptuk az eredeti osztandónkat. Tehát az osztásból úgy lesz összeadás, hogy számoljuk hányszor tudjuk csökkenteni az osztandót az osztóval úgy, hogy a hányados ne legyen kisebb 0-nál, ha pont nullát kapnánk akkor vége a tevékenységnek, az eredmény a lépések száma. Ellenkező esetben maradékos osztásról van szó, és a maradékok helyiértékenként csökkenve állnak elő.===
 
 
ioiw
 
w
 
 
wd
 
w
 
===Kettes számrendszerből tízes számrendszerbe===
A kettes számrendszer helyiértékes számrendszer: jobbról balra haladva minden egyes számjegy a 2 eggyel nagyobb [[hatvány]]át fejezi ki (2<sup>0</sup>=1-től kezdve). A kettes számrendszerben ábrázolt szám értékét úgy kapjuk meg, hogy összeadjuk azokat a kettő-hatványokat, amelyek helyiértékénél 1 áll. Például:
:1010011011<sub>2</sub> <font color="#0000ff">=</font> '''1'''·2<sup>9</sup> + '''0'''·2<sup>8</sup> + '''1'''·2<sup>7</sup> + '''0'''·2<sup>6</sup> + '''0'''·2<sup>5</sup> + '''1'''·2<sup>4</sup> + '''1'''·2<sup>3</sup> + '''0'''·2<sup>2</sup> + '''1'''·2<sup>1</sup> + '''1'''·2<sup>0</sup> <font color="#0000ff">=</font> 2<sup>9</sup> + 2<sup>7</sup> + 2<sup>4</sup> + 2<sup>3</sup> + 2<sup>1</sup> + 2<sup>0</sup> <font color="#0000ff">=</font> 512 + 128 + 16 + 8 + 2 + 1 <font color="#0000ff">=</font> 667
 
===Tízes számrendszerből kettes számrendszerbe===
Egy ''N'' szám kettes számrendszerben ábrázolt értékét a következő algoritmussal kaphatjuk meg:
# Megkeressük azt a ''d'' legnagyobb kettő-hatványt, ami nem nagyobb, mint ''N'' (ez éppen 2<sup><math>[\log_2(N)]</math></sup> lesz).
# Ha ''d'' nem nagyobb, mint ''N,'' akkor N:=N-d és leírunk (az előző leírt számjegytől jobbra) egy 1-et; ha nagyobb, akkor leírunk egy 0-t.
# Ha d=1, akkor az algoritmus véget ért.
# d:=d/2
# Ugrás 2-re.
 
Mi az hogy kettü
 
Ahelyett, hogy egyből a lehető legnagyobb hatványt vonnánk ki, az új alappal osztunk sorozatosan, így a kisebb egységektől haladunk a nagyobbak felé. A maradékok az egyre nagyobb egységek számát jelzik. Előnye, hogy nem kell előre megbecsülni, hogy mekkora a lehető legnagyobb hatvány, ami még nem kisebb az adott számnál.
 
Az eredeti számot maradékosan osztjuk kettővel, így megkapjuk, hány kettes lenne benne. A maradék az egyesek számát adja. Megnézzük, hogy van-e elég kettes ahhoz, hogy egy nagyobb egységet képezzen. Ha van, akkor egy maradékos osztással megkapjuk, hány kettest nem lehet egy nagyobb egységre beváltani. Ismételjük az osztásokat, amíg nem kapunk nullát vagy egyet. Ez lesz a kettes számrendszerbe átírt szám első jegye, bitje. A többi jegyét fordított sorrendben adják a maradékok.
 
Példa:
 
:<math>\left.\begin{matrix}
41 wpoof
\mathrm{ marad }\ \ \mathbf{1}\\
20 &: 2 &=& 10 &\mathrm{ marad }\ \ \mathbf{0}\\
10 &: 2 &=& 5 &\mathrm{ marad }\ \ \mathbf{0}\\
5 &: 2 &=& 2 &\mathrm{ marad }\ \ \mathbf{1}\\
2 &: 2 &=& 1 &\mathrm{ marad }\ \ \mathbf{0}\\
1 &: 2 &=& 0 &\mathrm{ marad }\ \ \mathbf{1}
\end{matrix}\ \right\uparrow</math>
 
== Gyors hatványozás ==
A kettes számrendszernek nagy jelentősége van a gyors hatványozásban. Egy n<sup>k</sup> hatvány (k kettes számrendszerbeli alakjának ismeretében) kiszámítható legfeljebb 2*log k szorzással a következő módon:
 
# N:=1, d:=n, i:=0
# ha k i-ik helyiértékén 1 van, akkor N:=N*d;
# ha i k legnagyobb helyiértékét jelölte, az algoritmus véget ért
# i:=i+1, d:=d*d
# ugrás 2-re
 
==Források==
* Stoyan Gisbert - Takó Galina: Numerikus módszerek 1.
* [http://www.lehrer.uni-karlsruhe.de/~za146/barock/leibniz1.htm#Dyadik Leibniz és a kettes számrendszer]
* [https://web.archive.org/web/20110907075652/http://binaersystem.homeunix.org/ binaersystem.homeunix.org, Oldal a kettes számrendszerről]
* [http://www.arndt-bruenner.de/mathe/scripts/Zahlensysteme.htm Számrendszerek átváltása (u.&nbsp;a. dual ↔ dezimal)]
* [http://www.dualzahlen.de/ Összefoglalás a számrendszerekről és a kettes számrendszerben számolásról]
* [http://www.know-about.de/binaerzahlen.html Nem egész számok átváltása kettesszámrendszerbe]
 
== Kapcsolódó szócikkek ==
* [[Bit]]
* [[Számrendszerek az informatikában]]
* [[Binárisan kódolt decimális]]
 
== További információk ==