Sólin Sólin Rís 09:06 • sest 17:16 í Reykjavík
Tunglið Tunglið Rís 06:24 • Sest 16:46 í Reykjavík
Flóð Flóð Árdegis: 05:17 • Síðdegis: 17:24 í Reykjavík
Fjaran Fjara Árdegis: 11:24 • Síðdegis: 23:36 í Reykjavík
Sólin Sólin Rís 09:06 • sest 17:16 í Reykjavík
Tunglið Tunglið Rís 06:24 • Sest 16:46 í Reykjavík
Flóð Flóð Árdegis: 05:17 • Síðdegis: 17:24 í Reykjavík
Fjaran Fjara Árdegis: 11:24 • Síðdegis: 23:36 í Reykjavík
LeiðbeiningarTil baka

Sendu inn spurningu

Hér getur þú sent okkur nýjar spurningar um vísindaleg efni.

Hafðu spurninguna stutta og hnitmiðaða og sendu aðeins eina í einu. Einlægar og vandaðar spurningar um mikilvæg efni eru líklegastar til að kalla fram vönduð og greið svör. Ekki er víst að tími vinnist til að svara öllum spurningum.

Persónulegar upplýsingar um spyrjendur eru eingöngu notaðar í starfsemi vefsins, til dæmis til að svör verði við hæfi spyrjenda. Spurningum er ekki sinnt ef spyrjandi villir á sér heimildir eða segir ekki nægileg deili á sér.

Spurningum sem eru ekki á verksviði vefsins er eytt.

Að öðru leyti er hægt að spyrja Vísindavefinn um allt milli himins og jarðar!

=

Af hverju byggjast tölvur upp á 1 og 0?

Hjálmtýr Hafsteinsson

Aðalástæðan fyrir því að tölvur byggjast upp á tvíundakerfinu er tæknileg. Í mjög einfölduðu máli er það vegna þess að auðvelt er að greina á milli þess hvort það sé straumur í straumrásum tölvunnar (táknað 1) eða enginn straumur (táknað 0). Ef framleiða ætti tölvu sem ynni jafneðlilega í tugakerfinu þyrfti að greina milli 10 mismunandi styrkleika straums. Þannig væri tölustafurinn 0 enginn straumur, stafurinn 1 væri örlítill straumur, 2 væri aðeins meiri straumur og svo framvegis. Mun meiri hætta væri á að gögn í tölvunni skemmdust með þessari aðferð. Lítið má út af bregða til að eitt gildi breytist í annað með svipaðan straumstyrkleika (eða sömu spennu), til dæmis 4 yfir í 5, eða 8 yfir í 7.

Við treystum því yfirleitt að tölvur geri ekki mistök í útreikningum og að gögn sem sett hafa verið inn breytist ekki „af sjálfu sér“. Það er því mjög mikilvægt að grunnvinnsla tölvunnar sé traust og að sem minnst hætta sé á að villur komi þar upp.

Sumar af fyrstu tölvunum sem smíðaðar voru unnu með tugatölur, og var tölvan ENIAC ein þeirra. Einnig smíðuðu Rússar tölvur sem byggðu á þríundarkerfinu, en það hefur þrjár stöður: 0, 1 og 2.

Mörgum reynist erfitt að skilja grunnvirkni tölva því að þeir halda að tölurnar 0 og 1 skipti þar höfuðmáli. Í raun skipta tölurnar 0 og 1 engu máli. Aðalatriðið er að tölvan vinnur með tvær stöður sem hægt er að tákna á hvaða hátt sem við viljum. Við gætum til dæmis notað „.“ (punkt) í staðinn fyrir 0 og „-“ (strik) í staðinn fyrir 1. Þá væri bitarunan „0010“ skrifuð „..-.“. Við gætum líka táknað þetta „stutt-stutt-langt-stutt“.

En er þetta þá ekki Morse-kóði? Morse-kóði notar líka tvær stöður, stutt hljóðmerki og langt hljóðmerki. Ástæðan fyrir því er nákvæmlega sú sama og í tölvunum, það minnkar hættuna á villum. Ef Morse-kóðinn notaði margar mismunandi lengdir á hljóðmerkin, til dæmis „stutt merki“, „aðeins lengra merki“, „heldur lengra merki“, og svo framvegis þá væru mun meiri líkur á villum í sendingum.



Hvað ætli þessi runa þýði?

Þessar tvær stöður, hvort sem er í tölvum eða Morse-sendingum, hafa enga merkingu í sjálfu sér, heldur er þeim raðað upp í mynstur og gefin merking eftir fyrirfram skilgreindum reglum. Til dæmis er ákveðið í Morse-kóðanum að bókstafurinn „L“ sé táknaður með „. - . .“. Við gætum líka skrifað þetta „0100“ eða „enginn straumur, straumur, enginn straumur, enginn straumur“.

Morse-kóðinn er mjög einfaldur kóði og segir aðeins hvernig á að tákna ensku hástafina (A, B, C, ...), tölustafina (0, 1, ..., 9) og nokkur sértákn (punktur, komma, spurningarmerki og svo framvegis). Tölvur vinna með mun fjölbreyttari hluti og eru notaðir margir mismunandi kóðar til að tákna gögnin. Sem dæmi má nefna að 8-bita runan „01001100“ táknar bókstafinn „L“ samkvæmt ASCII-kóðanum (sem heitir reyndar fullu nafni ISO 8859-1) og er nú notaður í öllum tölvum fyrir bókstafi og önnur tákn.

Bitarunur eru líka notaðar til að tákna skipanir fyrir tölvuna, til dæmis táknar 16-bita runan „0000001111011010“ skipun í PC-tölvum til að leggja saman gildin í gistunum BX og DX og setja niðurstöðuna í gistið BX. Athugið að einnig væri hægt að túlka síðustu 8 bitana í rununni, „11011010“, sem bókstafinn „Ú“ samkvæmt ASCII-kóðanum.

Það fer því algerlega eftir því hvernig ákveðið er að bitarnir séu túlkaðir hvaða merkingu þeir hafa fyrir tölvuna. Sumar bitarunur eru túlkaðar sem tölur, aðrar sem bókstafir og enn aðrar sem myndir eða hljóð. Bitarunur eru þar að auki notaðar til að tákna forritin sem tölvan framkvæmir. Tölvur vinna því ekki „bara“ með 0 og 1!

Frekara lesefni af Vîsindavefnum:

Mynd: Kóði - Sótt 21.05.10

Höfundur

Hjálmtýr Hafsteinsson

dósent í tölvunarfræði við HÍ

Útgáfudagur

23.3.2001

Spyrjandi

Ársæll Jónsson

Tilvísun

Hjálmtýr Hafsteinsson. „Af hverju byggjast tölvur upp á 1 og 0?“ Vísindavefurinn, 23. mars 2001, sótt 30. október 2024, https://visindavefur.is/svar.php?id=1417.

Hjálmtýr Hafsteinsson. (2001, 23. mars). Af hverju byggjast tölvur upp á 1 og 0? Vísindavefurinn. https://visindavefur.is/svar.php?id=1417

Hjálmtýr Hafsteinsson. „Af hverju byggjast tölvur upp á 1 og 0?“ Vísindavefurinn. 23. mar. 2001. Vefsíða. 30. okt. 2024. <https://visindavefur.is/svar.php?id=1417>.

Chicago | APA | MLA

Senda grein til vinar

=

Af hverju byggjast tölvur upp á 1 og 0?
Aðalástæðan fyrir því að tölvur byggjast upp á tvíundakerfinu er tæknileg. Í mjög einfölduðu máli er það vegna þess að auðvelt er að greina á milli þess hvort það sé straumur í straumrásum tölvunnar (táknað 1) eða enginn straumur (táknað 0). Ef framleiða ætti tölvu sem ynni jafneðlilega í tugakerfinu þyrfti að greina milli 10 mismunandi styrkleika straums. Þannig væri tölustafurinn 0 enginn straumur, stafurinn 1 væri örlítill straumur, 2 væri aðeins meiri straumur og svo framvegis. Mun meiri hætta væri á að gögn í tölvunni skemmdust með þessari aðferð. Lítið má út af bregða til að eitt gildi breytist í annað með svipaðan straumstyrkleika (eða sömu spennu), til dæmis 4 yfir í 5, eða 8 yfir í 7.

Við treystum því yfirleitt að tölvur geri ekki mistök í útreikningum og að gögn sem sett hafa verið inn breytist ekki „af sjálfu sér“. Það er því mjög mikilvægt að grunnvinnsla tölvunnar sé traust og að sem minnst hætta sé á að villur komi þar upp.

Sumar af fyrstu tölvunum sem smíðaðar voru unnu með tugatölur, og var tölvan ENIAC ein þeirra. Einnig smíðuðu Rússar tölvur sem byggðu á þríundarkerfinu, en það hefur þrjár stöður: 0, 1 og 2.

Mörgum reynist erfitt að skilja grunnvirkni tölva því að þeir halda að tölurnar 0 og 1 skipti þar höfuðmáli. Í raun skipta tölurnar 0 og 1 engu máli. Aðalatriðið er að tölvan vinnur með tvær stöður sem hægt er að tákna á hvaða hátt sem við viljum. Við gætum til dæmis notað „.“ (punkt) í staðinn fyrir 0 og „-“ (strik) í staðinn fyrir 1. Þá væri bitarunan „0010“ skrifuð „..-.“. Við gætum líka táknað þetta „stutt-stutt-langt-stutt“.

En er þetta þá ekki Morse-kóði? Morse-kóði notar líka tvær stöður, stutt hljóðmerki og langt hljóðmerki. Ástæðan fyrir því er nákvæmlega sú sama og í tölvunum, það minnkar hættuna á villum. Ef Morse-kóðinn notaði margar mismunandi lengdir á hljóðmerkin, til dæmis „stutt merki“, „aðeins lengra merki“, „heldur lengra merki“, og svo framvegis þá væru mun meiri líkur á villum í sendingum.



Hvað ætli þessi runa þýði?

Þessar tvær stöður, hvort sem er í tölvum eða Morse-sendingum, hafa enga merkingu í sjálfu sér, heldur er þeim raðað upp í mynstur og gefin merking eftir fyrirfram skilgreindum reglum. Til dæmis er ákveðið í Morse-kóðanum að bókstafurinn „L“ sé táknaður með „. - . .“. Við gætum líka skrifað þetta „0100“ eða „enginn straumur, straumur, enginn straumur, enginn straumur“.

Morse-kóðinn er mjög einfaldur kóði og segir aðeins hvernig á að tákna ensku hástafina (A, B, C, ...), tölustafina (0, 1, ..., 9) og nokkur sértákn (punktur, komma, spurningarmerki og svo framvegis). Tölvur vinna með mun fjölbreyttari hluti og eru notaðir margir mismunandi kóðar til að tákna gögnin. Sem dæmi má nefna að 8-bita runan „01001100“ táknar bókstafinn „L“ samkvæmt ASCII-kóðanum (sem heitir reyndar fullu nafni ISO 8859-1) og er nú notaður í öllum tölvum fyrir bókstafi og önnur tákn.

Bitarunur eru líka notaðar til að tákna skipanir fyrir tölvuna, til dæmis táknar 16-bita runan „0000001111011010“ skipun í PC-tölvum til að leggja saman gildin í gistunum BX og DX og setja niðurstöðuna í gistið BX. Athugið að einnig væri hægt að túlka síðustu 8 bitana í rununni, „11011010“, sem bókstafinn „Ú“ samkvæmt ASCII-kóðanum.

Það fer því algerlega eftir því hvernig ákveðið er að bitarnir séu túlkaðir hvaða merkingu þeir hafa fyrir tölvuna. Sumar bitarunur eru túlkaðar sem tölur, aðrar sem bókstafir og enn aðrar sem myndir eða hljóð. Bitarunur eru þar að auki notaðar til að tákna forritin sem tölvan framkvæmir. Tölvur vinna því ekki „bara“ með 0 og 1!

Frekara lesefni af Vîsindavefnum:

Mynd: Kóði - Sótt 21.05.10...