Kirjoittaja: Antti Laaksonen (2003).
Tässä oppaassa on perustietoa tietokoneessa ja ohjelmoinnissa käytettävistä lukujärjestelmistä ja -yksiköistä. Ensin tarkastellaan binääri- ja heksalukujärjestelmiä, sitten tutkitaan hieman kymmenen potensseja ja lopuksi käydään läpi tärkeimmät tiedontallennusyksiköt.
Binääri- eli 2-järjestelmä on yksinkertaisin lukujärjestelmä. Binäärijärjestelmässä on vain kaksi numeroa, 0 ja 1, joista kaikki luvut muodostetaan. Siksi luvut ovat usein varsin pitkiä.
Binääriluku muutetaan desimaaliluvuksi kertomalla kaikki numerot kahden potensseilla oikealta vasemmalle suuruusjärjestyksessä ja laskemalla tulot yhteen:
Esimerkkiluku: 11010
1*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 26
Desimaaliluvun muuttaminen binääriluvuksi tapahtuu vastaavasti jakamalla lukua kahdella, kunnes se on 0 tai 1 ja muodostamalla binääri käänteisesti jakojäännöksistä:
Esimerkkiluku: 26
26/2 = 13, jää 0 /-> 11010 13/2 = 6, jää 1 | 6/2 = 3, jää 0 | 3/2 = 1, jää 1 | 1 1 |
Binääriluku voidaan merkitä laittamalla luvun alaindeksiksi kaksi (110102) tai lisäämällä luvun perään b-kirjain (11010b).
Toinen yleinen lukujärjestelmä on heksadesimaali- eli 16-järjestelmä. Tavallisten numeroiden 0-9 lisäksi järjestelmä sisältää kirjaimet A-F, joista A=10, B=11, C=12, D=13, E=14 ja F=15.
Heksadesimaaliluku muutetaan desimaaliluvuksi samalla tavoin kuin binääriluku, paitsi että kertoimena on kahden sijasta 16:
Esimerkkiluku: 1A
1*16^1 + A*16^0 = 16 + A = 26
Ja desimaaliluku muuntuu heksadesimaaliksi niin ikään samalla tavalla kuin binääriksi, paitsi että jako lopetetaan, jos luku on 15 tai pienempi:
Esimerkkiluku: 26
26/16 = 1, jää A /-> 1A 16/16 = 1 1 |
Heksadesimaaliluku voidaan binääriluvun tavoin merkitä laittamalla luvun alaindeksiksi 16 (1A16) tai lisäämällä luvun perään h-kirjain (1Ah).
Kun käsitellään suuria lukuja, on käytännöllistä käyttää kymmenen potensseja, jottei luvun perään tulisi paljon nollia. Lisäksi kymmenen potensseilla on kolmen välein omat lyhenteensä, joita voi käyttää eri yksiköiden etuliitteenä.
Jos kymmenen potenssi on positiivinen, se määrittää, kuinka monta nollaa luvun perään laitetaan. Esimerkiksi miljoona on 1*106, koska siinä on kuusi nollaa (1000000).
Jos kymmenen potenssi on negatiivinen, se määrittää, kuinka monta nollaa desimaalipilkun ympärille laitetaan. Esimerkiksi yksi tuhannesosa on 1*10-3, koska sen desimaalipilkun ympärillä on 3 nollaa (0,001).
Seuraavassa taulukossa on kymmenen potenssit ja niiden nimet kahdeksanteentoista potenssiin saakka.
potenssi | etuliite | lyhenne |
---|---|---|
10-18 | atto | a |
10-15 | femto | f |
10-12 | piko | p |
10-9 | nano | n |
10-6 | mikro | µ |
10-3 | milli | m |
103 | kilo | k |
106 | mega | M |
109 | giga | G |
1012 | tera | T |
1015 | peta | P |
1018 | eksa | E |
Nyt on kuitenkin huomattava, että tietotekniikassa kerroin on 1024 eikä 1000. Siksi kilotavu (kt) on 1024, ei 1000, tavua ja megatavu (Mt) on 1048576, ei 1000000 tavua.
Pienin yksikkö on bitti, joka voi olla 0 tai 1. Bitti tulee englannin sanasta 'bit' ja sitä merkitään pienellä b-kirjaimella.
Kahdeksan bittiä muodostavat tavun, 'byte'. Tavu lyhennetään suomenkielessä t ja englannissa B. Lyhenteen samankaltaisuuden vuoksi tavu ja bitti menevät usein sekaisin.
Kahdeksan bittiä voi muodostaa kokonaisluvut väliltä 0-255. Samalla yhdellä tavulla on mahdollista ilmaista mikä tahansa kirjainmerkki ja vähän enemmänkin. Siksi pelkkänä tallennettu teksti vie tilaa yhden tavun kirjainta kohdin.
Esimerkkejä tavuista:
Kaksi tavua muodostaa sanan (word), johon mahtuu kokonaisluku väliltä -32768 - 32767. Edelleen neljä tavua, kaksi sanaa, muodostaa kaksoissanan (double word), johon mahtuu kokonaisluku väliltä -2,147,483,648 - 2,147,483,647.
1024 tavua muodostaa kilotavun (kt), johon mahtuu siis reilut tuhat merkkiä. 1024 kilotavua muodostaa megatavun (Mt), joka on jo yli miljoona merkkiä. Edelleen 1024 megatavua muodostaa gigatavun (Gt), jota ei enää kannata miettiä merkkeinä. Tätä suurempia yksiköitä ei toistaiseksi tarvita, mutta viiden vuoden kuluttua tilanne saattaa olla toinen.
Ööö,menin ihan sekasin
Tämähän on ihan selvää (etenkin jos osaa sen jo etukäteen), mutta tässähän ei kerrota mitään negatiivisista luvuista...
ihan mukava, vaikka olenkin nämä asiat "osannu" aiaisemminkin..
mutta treeni ei koskaa ole pahasta ellei joku tuu QB:ssa opettaa printin käyttöä *nauraa* mutta sehän ei liittynyt aiheeseen...
Ja putkastahan löytyy myös binäärilukumuuntaja koodivinkeistä. Meinasin lähettää omani, kunnes huomasin että sellainen on jo.
Muuten kaikki tietokone myyjät mainostaa aina, että koneessa on 80 Gigan kovalevy, mutta oikeasti ne huijaa tietämättömiä asiakkaita, sillä koneessa on kyllä 80 miljardia tavua, mutta sehän ei ole 80 Gigatavua, vaan ainostaan jotain 76... en nyt muista tarkalleen, kuten oppaassa selitettiinkin.
öööh... mitenkähän tuo mun viesti nyt meni, tarkoitus oli sanoa, että "miljardia tavua", mutta sen tilalle tuli "r"
???
Ja noistahan saa negatiivisia yksinkertaisesti, kun pistää miinuksen eteen. Ja desimaalit menee binäärissä tätä rataa: kahdesosat, neljäsosat, kahdeksasosat, kuudestoistaosat jne.
Tästä sain selville sen että binaarimerkki on toi merkin ascii -koodi käännettynä kymmen(sormi)järjestelmästä kaksjärjestelmäks. hyödyllinen tieto, esim jos jotain True/False dataa pitää mahduttaa pieneen tilaan. niin se siis tosiaan on binaari eikä binääri koska me ollaan Suomessa ja täällä kaikki pitää lausua vaikeemman kautta
öhh, onkohan toi joku ominaisuus et pitkät sanat pätkästään rivin lopussa? miten on Antti?
Tosta kovalevyn koko jutusta oli muistaakseni valitettu jossain...
Mun 200 gt kovo oli jotain 190 gt =/
Aivan. Kovossasi oli luultavasti 200 miljardia tavua, joka ei oikeasti ole 200 Gigatavua, toisin kuin mainostetaan.
Tuo kiintolevyjen koon muutos johtuu juuri siitä, että kiinolevyvalmistajat käyttävät "tavallista" järjestelmää, jossa kilo on 1000. Tietotekniikassa kilo on kuitenkin 2^10 eli 1024.
Kyllähän toi binääri lukujen päässä laskeminen on ihan mukavaa ajan vietettä... hexadesimaalia en oo vielä kokeillu :D
siis binaari eikä binääri
"Nyt on kuitenkin huomattava, että tietotekniikassa kerroin on 1024 eikä 1000, johtuen käytetyistä lukujärjestelmistä. Siksi kilotavu (kt) on 1024, ei 1000, tavua ja megatavu (Mt) on 1048576, ei 1000000 tavua."
Metsään. kilotavu = 1000 tavua
NiLon: Väittämäsi on väärin.
lainaus:
1024 tavua muodostaa kilotavun (kt), johon mahtuu siis reilut tuhat merkkiä. 1024 kilotavua muodostaa megatavun (Mt), joka on jo yli miljoona merkkiä. Edelleen 1024 megatavua muodostaa gigatavun (Gt), jota ei enää kannata miettiä merkkeinä. Tätä suurempia yksiköitä ei toistaiseksi tarvita, viiden vuoden kuluttua tilanne saattaa kuitenkin olla eri.
No, onhan olemassa Teratavun (1000 Gt) kokoisia kovalevyjä.
Juice: NiLonin väittämä on oikein, kilo (K) on aina 10^3, Kibi (KiB) sen sijaan on 1024 ( 2^10 ) , tässä asiassa tehdään hyvin usein virhe virallisimmissakin asiakirjoissa. Kilo on 1000, Kibi sen sijaan 1024.
Ehkä se virallisesti on niin, mutta tietotekniikassa puhuttaan KILOtavuista ja tietokone laskee eetä kilotavu=1024 tavua. Joten tietotekniikassa kilo=1024, vaikka kuinka olisi virallisia yksiköitä vastaan. Ei voi mitään
Noista puuttuu kokonaan potenssin ^-merkki. Saattaa johtaa harhaan monia.
esim. jotkut saattavat luulla seuraavaa:
1*24 + 1*23 + 0*22 + 1*21 + 0*20 = 68 <-- ahaa siis kerrotaan aluksi eka binaarin osa 24, jne. ja saadaan 68.
selvemmin olis ettei tulis väärinkäsityksiä:
1*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 26
Olet oikeassa, potenssimerkit olivat kadonneet jonnekin uuden opassysteemin jälkeen.
Tietotekniikassa kilo tarkoittaa lukua 1024, koska se luku sattuu sopivasti kuulumaan kahden potensseihin (2 ^ 10). Aikoinaan tehty sopimus ei ole looginen, mutta sitä on paha mennä nyt jälkeenpäin muuttamaan.
eikös se ole niin että kilotavu = 1000 tavua ja kibitavu = 1024?
ja bitti muuttaja on myös windowsin laskimessa :D
Mitäs tämä meinaa:
Antti Laaksonen kirjoitti:
Siksi pelkkänä tallennettu teksti vie tilaa yhden tavun kirjainta kohdin.
Siis "pelkkänä tekstinä tallennettu tieto vie tilaa yhden tavun merkkiä kohden"
Ja tekstihän ei vie tilaa yksi tavu per merkki aina, vain kun näin on määritelty, eli käytetään jotain ennaltamääriteltyä merkkikarttaa. Kahdeksaan bittiin ei tosiaan mahdu kaikki kirjoitusmerkit (kirjainmerkit ehkä), kannattaisi hieman selventää tätä. Nykypäivänä kannattaa monesti käyttää unicodea eri muodoissaan, tällöin helposti tilaa tarvitaan enemmän kuin yksi tavu per merkki.
hunajavohveli kirjoitti:
Muuten kaikki tietokone myyjät mainostaa aina, että koneessa on 80 Gigan kovalevy, mutta oikeasti ne huijaa tietämättömiä asiakkaita, sillä koneessa on kyllä 80 miljardia tavua, mutta sehän ei ole 80 Gigatavua, vaan ainostaan jotain 76... en nyt muista tarkalleen, kuten oppaassa selitettiinkin.
Haa. Tän takia ilmeisesti kaikissa muistikorteissakin yms. on pienempi kapasiteetti kun väitetään.
Eikös heksan merkkinä voi olla myös 0x (esim. 0x1D107)?
Tällaista tietoa tuli tietoasemalta kun aiemmin kyselin kovalevyistä:
"Esim. 250 Gt levyssä on tasan 250 000 000 000 tavua tallennustilaa. Huomioi kuitenkin, että tämä ei ole sama asia kuin Windowsin levynhallinnassa näkyvä '250Gt'.
Kyse on mittayksikköjen eroista. Tietokoneet laskevat gigatavun eri suuruiseksi kuin kiintolevyvalmistajat (ja koko muu maailma). Mitään 'puuttuvia' gigoja ei siis ole, vaan kaikissa myytävissä kiintolevyssä '1GB' tarkoittaa miljardia tavua (1GB =1 000 000 000 tavua).
Eli kiintolevy, jonka lootassa lukee '250GB' tarkoittaa 250 000 000 000 tavua
Windows kuitenkin ilmoittaa koon 'Gb':nä joka tarkoittaa tarkasti ottaen Gibitavua, eli 1024^3 tai yksinkertaisemmin 1 073 741 824 tavua.
250 000 000 000 / 1 073 741 874 = noin 232,8 windowsin 'gigaa'. Levyllä on siis 250 000 000 000 tavua tilaa, mutta windows laskee 'gigaksi' 1 073 741 874 tavua, joten niitä gigoja on tällöin vain tuo noin 232 'gigaa'."
Eikä tuo tietoaseman väite pidä edes mielestäni paikkaansa.
Huomasin juuri että aika nopeasti porukka vastailee täällä. aina n. vuoden välein seuraava vastannut. "heh heh"
Kannattaa tehdä eXcelillä muunnos taulukko, jolla on helppo muuntaa Binääriluku -> perusluvuksi
Fisher kirjoitti:
lainaus:
1024 tavua muodostaa kilotavun (kt), johon mahtuu siis reilut tuhat merkkiä. 1024 kilotavua muodostaa megatavun (Mt), joka on jo yli miljoona merkkiä. Edelleen 1024 megatavua muodostaa gigatavun (Gt), jota ei enää kannata miettiä merkkeinä. Tätä suurempia yksiköitä ei toistaiseksi tarvita, viiden vuoden kuluttua tilanne saattaa kuitenkin olla eri.
No, onhan olemassa Teratavun (1000 Gt) kokoisia kovalevyjä.
Teratavuhan on 1024 Gt
Edit: Mulla on gigan kiintolevy yhyres konees ja siihen mahtuu tarkemmin jotain 103jotain(tuhatkolkyt).
Niin ja megatavu ny yksinkertaaseti on 1024kt eikä 1000 vaikka kuka tahansa väittäis että se on tuhat.
GB = GigaByte = Gigatavu
GiB = GibiByte = Gibitavu
Gb = Gigabit = Gigabitti
Onnea vaan tuleville datanomeille, koska teille tulee hyvällä tuurilla tästä kurssi: Datanomin matematiikka ja sen ohella myös joukko-oppi (http://fi.wikipedia.org/wiki/Joukko-oppi).
Itsehän tästä kurssista kusin kokeen, mutta säkällä pääsin silti kurssista läpi.
Binäärilukujen yhteen- ja vähennyslaskua käsitellään tarkemmin mm. tässä keskustelussa.
Huomio! Kommentoi tässä ainoastaan tämän oppaan hyviä ja huonoja puolia. Älä kirjoita muita kysymyksiä tähän. Jos koodisi ei toimi tai tarvitset muuten vain apua ohjelmoinnissa, lähetä viesti keskusteluun.