Int, short?

Noita taulukon tyyppejä on monia. Mutta onko sillä mitään merkitystä nopeuden jne... kannalta käyttääkö short tai int? Vai voiko huoletta länttästä kaikkiin lukuihin tuon int, vaikka short riittäisikin?
Manuaalin mukaan molemmat vie samanverran muistia.
4342
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

C kieli unohtu mainita

Äänestä
  • prosessori käsittelee nopeiten sitä tietotyyppiä jossa on saman verran bittejä kuin prosessorissa, yleensä se on nimeltään int. Jos short ja int ovat samankoisia ne ovat sama asia.

    Äänestä

kokonaisluvun perustyyppi int voi olla joko short tai long. Valinta tehdään kone ja kääntäjäkohtaisesti siten että int on se tyyppi jolla kone toimii tehokkaimmin.

Aikaisemmin tehokkain tyyppi oli short (eli silloin kun prosessorin rekisterien leveys oli 16 bittiä) mitta nykyään kun rekisterileveys on 32 tai 64 bittinen int tarkoittaa usein long.

short käytetään kuitenkin koska se vie vähemmän tilaa levyllä jos sinulla on suuria datamääriä.

Jos sinulla samassa lausekkeessa on monta erikokoista muuttujaa (byte, short, long) sekaisin, kaikki muutetaan ensin lausekkeen suuremman muuttujan muotoon ennen kun itse laskutoimitus tehdään (sama koskee myös liukulukuja float ja double).

Käytännösssä voit yleisesti käyttää int. Jos sovelluksesi käyttää erittäin paljon muistia (eli hyvin suuri määrä kokonaismuuttujia) kannattaa käyttää short. Jos taas jonkun kokonaisluku-muuttujan lukuarvo nousee hyvin suureksi (>32000) ja on vaara että tapahtuu ylivuoto, voit varmistaa että näin ei tapahdu määrittelemällä tyypiksi long.

Äänestä

Kiitoksia vastanneille tämä asia selvä.

Äänestä

Kommentoi aloitusta


Joku_ kirjoitti:

Noita taulukon tyyppejä on monia. Mutta onko sillä mitään merkitystä nopeuden jne... kannalta käyttääkö short tai int? Vai voiko huoletta länttästä kaikkiin lukuihin tuon int, vaikka short riittäisikin?
Manuaalin mukaan molemmat vie samanverran muistia.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu