Ero sivun ”Kantaluku” versioiden välillä

Wikimedia-täsmennyssivu
Poistettu sisältö Lisätty sisältö
Ei muokkausyhteenvetoa
(ei mitään eroa)

Versio 30. tammikuuta 2005 kello 17.34

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).

Esimerkikkejä

  • 10-järjestelmässä 9+1=10
  • Hexadesimaalijärjestelmässä on käytössä numerot 0...F. 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. 1+1=10 (desimaalilukuna 1+1=2)
  • Oktaalijärjestelmässä on käytössä numerot 0...7. 7+1=10 (desimaalilukuna 7+1=8)

Muuntaminen kantaluvusta toiseen

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

  • 154 = 1*100 + 5*10 + 4*1

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)

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 1024 = 4*256.

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

toisena esimerkkinä voidaan ottaa luku 7386. se on 1*4096 + 12*256 + 13*16 + 10 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ää.