Mikä on tyyppimuunnos?

Tyyppimuunnos on eräänlainen tyyppitunnistus, tekniikka, jota käytetään tietojenkäsittelytieteessä ja tietokoneohjelmiston ohjelmoinnissa, jossa tietyn kokonaisuuden tietotyyppi muutetaan eri tietotyypiksi. Tyyppipunnistuksen käsite alkoi kiertää ohjelmointikielen tietyn tyyppistä järjestelmää, joten voidaan saavuttaa tiettyjä vaikutuksia, joita muuten olisi vaikea tehdä ohjelmointikielen muodollisen määritelmän rajoissa. Tyypin muuntaminen, joka on yleisin tyypinmuodostusmuoto, on mahdollista käytännössä kaikilla ohjelmointikielillä, vaikka jotkut kielet tarjoavat lisämenetelmätyyppien esittelyä, kuten unioni tai uudelleen tulkinta. Jotkut ohjelmointityylioppaat ehdottavat tyypin lakkaamista, vaikka tyyppimuunnosta käytetään joka tapauksessa usein.

Tyyppimuunnosta kutsutaan joskus myös tyyppilähetykseksi tai pakottamiseksi käytettävän ohjelmointikielen mukaan. Jokaisella ohjelmointikielellä on säännöt siitä, miten tyyppimuunnosta voidaan käyttää onnistuneesti. Yleisesti ottaen konversiot voivat tapahtua joko perustyypeillä tai -objekteilla.

On olemassa useita perustietoja tai tietotyyppiluokkia. Yksi yleinen tietotyyppi, jota käytetään matemaattisissa operaatioissa, ovat kokonaisluvut tai tavalliset luvut, jotka voivat vaihdella tuhansiin tai miljooniin niiden leveyden bittien lukumäärästä riippuen. Esimerkiksi 32 -bittinen kokonaisluku voi olla nollasta 4,294,967,295 2,147,483,648 2,147,483,648 XNUMX tai -XNUMX XNUMX XNUMX XNUMX -XNUMX XNUMX XNUMX XNUMX. Toinen tyyppi on liukuluku, joka on pohjimmiltaan mikä tahansa desimaaliluku.

Yksittäisiä merkkejä, kuten aakkosten kirjaimia tai välimerkkejä, voidaan käyttää myös tietotyyppinä. Merkkijonon tietotyyppi on mikä tahansa numero- ja/tai kirjainryhmä tai -sarja ilman taukoa; merkkijonojen pituudet ovat mielivaltaisia, mutta niiden koko tai raja määritetään yleensä ohjelmointikielellä. Vanhin tietotyypeistä on Boolean, joka on yksinkertaisesti joko tosi tai epätosi. Muita tyyppiluokkia ovat algebralliset, funktiot, konetiedot ja objektit. Esimerkiksi olio-suuntautuneilla kielillä objektin esi-isä voi käyttää pääobjektin tyyppiä, jotta niiden vuorovaikutus sujuisi sujuvammin.

Tyyppimuunnoksen erityispiirteet eivät todellakaan tule esille ennen kuin tietyn ohjelmointikielen säännöt on otettu huomioon. Jotkut kielen säännöt sanelevat edelleen, onko tyyppimuunnos implisiittinen vai eksplisiittinen. Epäsuoraa tyyppimuunnosta kutsutaan useimmiten pakotukseksi, ja se tapahtuu yleensä silloin, kun ohjelma kootaan lähdekoodista suoritettavaksi ohjelmaksi. Näin voi tapahtua esimerkiksi, jos lausekkeessa käytetään useita tietotyyppejä ja suoritetaan sitten vertailu. Tyyppimuunnosta pidetään implisiittisenä, ja kääntäjä käsittelee sen automaattisesti; nimenomainen tyyppimuunnos on määritetty ohjelman koodissa. C -ohjelmointikieli tekee eron näiden kahden välillä, kutsuu implisiittistä tyyppimuunnosta pakotukseksi ja nimenomaista tyyppimuunnosta valetuksi.

Yksinkertainen esimerkki yleisestä tyyppimuunnoksesta olisi matemaattiset operaatiot tietokoneohjelman numeroille. Tietokoneohjelma, joka vastaanottaa syötteenä desimaaliluvun, liukulukutietotyypin, voi joutua muuttamaan luvun kokonaislukutyypiksi matemaattisten toimintojen suorittamiseksi tai päinvastoin. Tämä muunnos mahdollistaa operaation jatkumisen.