Ero sivun ”Kantaluku” versioiden välillä

Wikipediasta
Siirry navigaatioon Siirry hakuun
[arvioimaton versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
hienisäätöä + korjasin myös laskuvirheeni + math tagi
Rivi 13: Rivi 13:
== Esimerkkejä ==
== Esimerkkejä ==
* 10-järjestelmässä 9+1=10
* 10-järjestelmässä 9+1=10
* Hexadesimaalijärjestelmässä on käytössä numerot 0...F. F+1=10 (desimaalilukuina 15+1=16)
* Hexadesimaalijärjestelmässä on käytössä numerot 0...F. Eli F+1=10 (desimaalilukuina 15+1=16)
Hexadesimaalilukuja merkitään joskus niin, että alkuun lisätään merkit 0x (esim 0xF4)
Hexadesimaalilukuja merkitään joskus niin, että alkuun lisätään merkit 0x (esim 0xF4)
* Binäärijärjestelmässä on käytössä numerot 1 ja 0. 1+1=10 (desimaalilukuna 1+1=2)
* Binäärijärjestelmässä on käytössä numerot 1 ja 0. Eli 1+1=10 (desimaalilukuna 1+1=2)
* Oktaalijärjestelmässä on käytössä numerot 0...7. 7+1=10 (desimaalilukuna 7+1=8)
* Oktaalijärjestelmässä on käytössä numerot 0...7.
Oktaalilukuja merkitään joskus niin, että alkuun lisätään nolla. Eli 07+01=010 (desimaalilukuna 7+1=8)


== Muuntaminen kantaluvusta toiseen ==
== Muuntaminen kantaluvusta toiseen ==

''Huomautus: <math>x^0 = 1</math> eli mikä tahansa luku korotettuna nollanteen potenssiin on ylksi.''


10-järjestelmässä lukujen painoarvo menee seuraavasti (10:llä jaolliset painoarvot): .... 1000, 100, 10, 1 .... esimerkiksi
10-järjestelmässä lukujen painoarvo menee seuraavasti (10:llä jaolliset painoarvot): .... 1000, 100, 10, 1 .... esimerkiksi
*154 = 1*100 + 5*10 + 4*1
* <math>154 = 1*10^2 + 5*10^1 + 4*10^0</math>


Hexadesimaalijärjestelmässä taas on hexadesimaaliluvulla 10 jaolliset painoarvot (eli 16-jaolliset): .... 4096, 256, 16, 1. Esimerkiksi
Hexadesimaalijärjestelmässä taas on hexadesimaaliluvulla 10 jaolliset painoarvot (eli 16-jaolliset): .... 4096, 256, 16, 1. Esimerkiksi
* 0x4F7 = 4*4096 + 15*256 + 7*1 (eli 0x4 * 0x100 + 0xF * 0x10 + 0x7 * 0x1)
* <math>0x4F07 = 4*16^3 + 15*16^2 + 0*16^1 + 7*16^0 (eli 0x4 * 0x1000 + 0xF * 0x100 + 0x0 * 0x10 + 0x7 * 0x1)</math>


Näin ollen esimerkiksi jos muutamme luvun 1024 hexadesimaaliluvuksi, voimme käsitellä sitä seuraavasti:
Näin ollen esimerkiksi jos muutamme luvun 1024 hexadesimaaliluvuksi, voimme käsitellä sitä seuraavasti:
Katsomme suurimman painoarvoluvun joka on silti pienempi kuin 1024, tässä tapauksessa 256. Kerromme sen niin suurella luvulla kuin mahdollista, että se ei silti ylitä tavoittelemaamme lukua. saadaan luku 4.
Katsomme suurimman painoarvoluvun joka on silti pienempi kuin 1024, tässä tapauksessa 256. Kerromme sen niin suurella luvulla kuin mahdollista, että se ei silti ylitä tavoittelemaamme lukua. saadaan luku 4.


eli siis 1024 = 4*256.
eli siis <math>1024 = 4*256</math>.


Hexadesimaalilukuna 256 = 0x10 joten 4*0x10 = 0x40 joka on tavoittelemamme luku.
Hexadesimaalilukuna 256 = 0x100 joten 4*0x100 = 0x400 joka on tavoittelemamme luku.


toisena esimerkkinä voidaan ottaa luku 7386. se on 1*4096 + 12*256 + 13*16 + 10
toisena esimerkkinä voidaan ottaa luku 7386. se on <math>1*16^3 + 12*16^2 + 13*16^1 + 10*16^0</math>
Tästä saadaan siis luku 0x1CDA
Tästä saadaan siis luku 0x1CDA



Versio 30. tammikuuta 2005 kello 21.35

Yleistä

Yleisesti hintoja, pituuksia, ikää, yms mitattaessa ja ns. yleiskielessä käytetään 10-kantaista lukujärjestelmää eli desimaalijärjestelmää.

Lukujärjestelmässä eri lukuja tarkoittavia merkkejä on kantaluvun verran (kymmenjärjestelmässä 0...9).

Kantaluvun lukumäärä ilmoitetaan kyseisellä lukujärjestelmällä yleensä kirjoittamalla ykkönen ja nolla (10)

Muut kantalukujärjestelmät

Kymmenjärjestelmän lisäksi on käytössä monenlaisia eri kantaisia lukujärjetelmiä. Näistä tunnetuimpia ovat Hexadesimaaliluvut (16-kantainen), Binääriluvut (2-kantainen) ja Oktaaliluvut (8-kantainen).

Esimerkkejä

  • 10-järjestelmässä 9+1=10
  • Hexadesimaalijärjestelmässä on käytössä numerot 0...F. Eli F+1=10 (desimaalilukuina 15+1=16)

Hexadesimaalilukuja merkitään joskus niin, että alkuun lisätään merkit 0x (esim 0xF4)

  • Binäärijärjestelmässä on käytössä numerot 1 ja 0. Eli 1+1=10 (desimaalilukuna 1+1=2)
  • Oktaalijärjestelmässä on käytössä numerot 0...7.

Oktaalilukuja merkitään joskus niin, että alkuun lisätään nolla. Eli 07+01=010 (desimaalilukuna 7+1=8)

Muuntaminen kantaluvusta toiseen

Huomautus: eli mikä tahansa luku korotettuna nollanteen potenssiin on ylksi.

10-järjestelmässä lukujen painoarvo menee seuraavasti (10:llä jaolliset painoarvot): .... 1000, 100, 10, 1 .... esimerkiksi

Hexadesimaalijärjestelmässä taas on hexadesimaaliluvulla 10 jaolliset painoarvot (eli 16-jaolliset): .... 4096, 256, 16, 1. Esimerkiksi

Näin ollen esimerkiksi jos muutamme luvun 1024 hexadesimaaliluvuksi, voimme käsitellä sitä seuraavasti: Katsomme suurimman painoarvoluvun joka on silti pienempi kuin 1024, tässä tapauksessa 256. Kerromme sen niin suurella luvulla kuin mahdollista, että se ei silti ylitä tavoittelemaamme lukua. saadaan luku 4.

eli siis .

Hexadesimaalilukuna 256 = 0x100 joten 4*0x100 = 0x400 joka on tavoittelemamme luku.

toisena esimerkkinä voidaan ottaa luku 7386. se on Tästä saadaan siis luku 0x1CDA


Eri kantaisilla luvuilla laskeminen

Kantaluvusta riippumatta luvuilla "yksin nolla" (10) kertominen ja jakaminen on äärimmäisen helppoa. esimeerkiksi

  • hexadesimaaliluvuilla: 0x24 * 0x10 = 0x240 (36 * 16 = 576)
  • Binääriluvulla: 110b * 100b = 11000b (6*4=24)

Yhteen- ja vähennyslaskutkaan eivät ylitsepääsemättömiä ole. Kyseessä on vaan tottumuskysymys. Periaatteessa yhteenlasku on aivan yhtä yksinkertaista eri-kantaisilla luvuilla. Ihminen on vain tottunut käyttämään 10-järjestelmää.