Tietotyypit

Mikä muisti on?

Tietokoneen muisti koostuu pitkästä pötköstä bittejä. Bittiä voi kuvitella kolona, joka voi olla täynnä tai tyhjä. Bitillä voi siis olla 2 erilaista arvoa - nolla tai yksi. Bitti on pienin mahdollinen yksikkö, johon voidaan tallentaa tietoa tietokoneen muistissa.

No mitenkäs, kun tarvitseekin tallentaa vaikkapa kokonaisluku? Siihen ei nolla tai ykkönen riitä. Silloin otetaan avuksi monta bittiä, joilla tallennettava kokonaisluku voidaan koodata. Tästä päästäänkin tavuihin. Tavu on 8 bitin pötkö. Kahdeksasta bitistä voidaan muodostaa 256 erilaista yhdistelmää, joten erilaisia tavuja on noin monta kappaletta. Tämä ei kuitenkaan vielä riitä tallentamaan suurempia lukuja kuin 255 (nolla on ensimmäinen).

Avuksi täytyy ottaa lisää tavuja. Yleisin tapa tallentaa kokonaisluku tietokoneen muistiin on käyttää 4 tavua, eli 32 bittiä. Niiden avulla voidaan koodata yli 4 miljardia erilaista kokonaislukua. Sen pitäisi riittää. Jokainen kokonaisluku vie siis muistista 4 tavua.

Samalla tapaa voidaan tallentaa myös desimaalilukuja. Ne vain koodataan hieman eri tavalla, joten on tärkeää tietää minkä tyyppistä tietoa muistipaikasta luetaan. Muuten voi tulla yllättäviä tuloksia.

CoolBasicin tietotyypit

  • Kokonaisluku (integer) vie 4 tavua muistia
  • Desimaaliluku (float) vie 4 tavua muistia
  • Merkkijono (string) vie 4 tavua muistia + 1 tavu jokaista merkkiä kohden
  • Lyhyt kokonaisluku (short) vie 2 tavua muistia, mutta siihen ei voi kirjoittaa suurempia lukuja kuin 65536
  • Tavu (byte) vie vain 1 tavun muistia, mutta siihen ei voi kirjoittaa suurempia lukuja kuin 255

    Näiden erot?

    No, kokonaislukuihin ei tietenkään voi tallentaa desimaaliarvoja. Käytä kokonaislukuja aina kun mahdollista. Desimaalilukuja käytät silloin kun tarvitset tarkkaa liikkumista/kääntymistä/pyöreyttä jne. Yleensä esim. pelihahmon koordinaatit ovat desimaalilukuja kun taas esimerkiksi HEALTH tai panssari on kokonaisluku.

    Merkkijonot ovat luku sinänsä. Niihin tallennetaan lähinnä tekstiä eikä niillä voi tehdä juurikaan muita laskutoimituksia kuin yhdistää kaksi merkkijonoa. Lisää merkkijonoista myöhemmin tässä oppaassa.

    Tulet tarvitsemaan lähinnä kolmea edellä mainittua. Lyhyitä kokonaislukuja ja tavuja harvoin tarvitaan, ja ne ovat CoolBasicissa lähinnä kokeneempia käyttäjiä varten.

    Rajoitukset

  • Kokonaisluvut (ja heksat) voivat olla väliltä: [-2147483647 , 2147483647].
  • Desimaaliluvut voivat olla väliltä: 3.4E +/- 38 (7 numeroa).
  • Lyhyet kokonaisluvut (As Short) voivat olla väliltä [0 , 65536].
  • Tavut (As Byte) voivat olla väliltä [0 , 255].
  • Merkkijonoilla ei ole pituusrajoitusta.

    Leikkimään!

    CoolBasic tarjoaa ohjelmoijalle mahdollisuuden suorittaa nopeita tehtäviä musitissa muistipalojen avulla. Lisätietoa manuaalin KOMENNOT-osasta.


    <<TAKAISIN