eri suorittimet tukevat eri integraalitietotyyppejä. Tyypillisesti laitteisto tukee sekä allekirjoitettuja että allekirjoittamattomia tyyppejä, mutta vain pieni, kiinteä joukko leveyksiä.
yllä olevassa taulukossa luetellaan integraalityyppiset leveydet, joita tavalliset prosessorit tukevat laitteistossa. Korkean tason ohjelmointikielet tarjoavat enemmän mahdollisuuksia. On tavallista, että on ”double width” integraalityyppi, jossa on kaksi kertaa niin monta bittiä kuin suurin hardware-tuettu tyyppi., Monille kielille on myös bit-alan tyypit (määritelty määrä bittejä, yleensä pakko olla vähemmän kuin suurin laitteisto-tuetut leveys) ja alue tyypit (jotka voivat edustaa vain kokonaislukuja määritelty alue).
Jotkut kielet, kuten Lisp, Smalltalk, REXX, Haskell, Python, ja Raku-tuki mielivaltaisen tarkkuuden kokonaislukuja (tunnetaan myös nimellä ääretön tarkkuus kokonaislukuja tai bignums)., Muita kieliä, jotka eivät tue tätä ajatusta huipputason rakentaa voi olla kirjastoissa saatavilla edustaa hyvin suuria numeroita käyttäen paneelit pienempiä muuttujia, kuten Java BigInteger-luokka tai Perl ”bigint” – paketti. Näitä käyttää niin paljon tietokoneen muistia kuin on tarpeen tallentaa numeroita; kuitenkin, tietokone on vain rajallinen määrä tallennustilaa, jotta he liian voi edustaa vain äärellinen osajoukko matemaattinen kokonaislukuja. Nämä järjestelmät tukevat hyvin suuria lukuja, esimerkiksi yhdellä kilotavulla muistia voitaisiin tallentaa jopa 2466 desimaalin tarkkuudella.,
Boolean tai Lipun tyyppi on tyyppi, joka voi edustaa vain kaksi arvoa: 0 ja 1, yleensä tunnistaa vääriä ja totta vastaavasti. Tämä tyyppi voidaan tallentaa muistiin yhdellä bit, mutta usein annetaan täysi tavu kätevästi käsitellä ja nopeus pääsy.
neljä-bit määrä tunnetaan napostella (kun syö, on pienempi kuin purra) tai nybble (on sanaleikki muoto sanasta byte). Yksi näykkäisy vastaa yhtä numeroa heksadesimaalissa ja siinä on yksi numero tai merkkikoodi binäärikoodatussa desimaalissa.,
Tavua ja octetsEdit
termi tavun alun perin tarkoitti ’pienin suoraan osoitettavissa yksikkö muistia’. Menneisyydessä, 5-, 6-, 7-, 8-, ja 9-bittisiä tavuja on kaikki käytetty. Siellä on myös tietokoneita, joita voitaisiin käsitellä yksittäisten bittien (’bit-käsitelty kone’), tai se voi käsitellä vain 16 – tai 32-bittinen määrät (’word-käsitelty kone’). Byte-termiä ei yleensä käytetty lainkaan bit – ja word-puhuttelevien koneiden yhteydessä.
termi oktetti viittaa aina 8-bittiseen määrään., Sitä käytetään enimmäkseen tietokoneverkkojen alalla, jossa eri tavuleveydet omaavat tietokoneet saattavat joutua kommunikoimaan keskenään.
moderni käyttö tavun lähes poikkeuksetta tarkoittaa kahdeksaa bittiä, koska kaikki muut koot ovat pudonneet pois käytöstä; näin tavu on tullut synonyymi oktetti.
WordsEdit
Käytännössä kaikki uudet desktop prosessorit pystyvät käyttämään 64-bittistä sanaa, vaikka sulautetut prosessorit 8 – ja 16-bittinen sana kokoa ovat edelleen yleisiä. 36-bittinen sanan pituus oli yleinen tietokoneiden alkuaikoina.,
yksi tärkeä syy ohjelmistojen siirrettävyyteen on virheellinen oletus siitä, että kaikilla tietokoneilla on sama sanakoko kuin ohjelmoijan käyttämällä tietokoneella. Esimerkiksi, jos ohjelmoija käyttää C-kieltä virheellisesti ilmoittaa, kun int-muuttuja, joka voidaan tallentaa arvoja, jotka ovat suurempia kuin 215-1, ohjelma epäonnistuu tietokoneissa, joissa on 16-bittisiä kokonaislukuja. Tämä muuttuja olisi pitänyt ilmoittaa niin pitkäksi, jossa on vähintään 32 bittiä missä tahansa tietokoneessa., Ohjelmoijat voivat myös virheellisesti olettaa, että osoitin voidaan muuntaa kokonaisluvuksi ilman tietojen menetystä, joka voi toimia (joissakin) 32-bittisissä tietokoneissa, mutta epäonnistua 64-bittisissä tietokoneissa 64-bittisillä osoittimilla ja 32-bittisillä kokonaisluvuilla. Asia ratkeaa C99: llä stdintissä.h-muodossa intptr_t
.
Lyhyt integerEdit
lyhyt kokonaisluku voi edustaa koko numero, joka voi kestää vähemmän tallennustilaa, kun ottaa pienempi alue, verrattuna standardi kokonaisluku samalla koneella.
C: ssä se merkitään lyhenteellä., Sen on oltava vähintään 16 bittiä, ja se on usein pienempi kuin tavallinen kokonaisluku, mutta tätä ei tarvita. A mukainen ohjelma voi olettaa, että se voi turvallisesti tallentaa arvoja välillä −(215-1) ja 215-1, mutta se ei voi olettaa, että alue ei ole suurempi. Jaavassa lyhyt on aina 16-bittinen kokonaisluku. Windows API: ssa datatype SHORT määritellään 16-bittiseksi allekirjoitetuksi kokonaisluvuksi kaikilla koneilla.,>−32,768
Long integerEdit
A long integer can represent a whole integer whose range is greater than or equal to that of a standard integer on the same machine.,
C: ssä sitä merkitään pitkä. Sen on oltava vähintään 32 bittiä, ja se voi tai ei voi olla suurempi kuin tavallinen kokonaisluku. A mukainen ohjelma voi olettaa, että se voi turvallisesti tallentaa arvoja välillä −(231-1) ja 231-1, mutta se ei voi olettaa, että alue ei ole suurempi.
Pitkä longEdit
Vuonna C99 versio C-ohjelmointikielen ja C++11-versio C++, a long long
tyyppi on tuettu, joka on vähintään kaksinkertainen kapasiteetti standardi long
. Tätä tyyppiä eivät tue kääntäjät, jotka vaativat C-koodin olevan edellisen C++ – standardin mukainen, C++03, koska pitkää tyyppiä ei ollut C++03: ssa. On ANSI/ISO-yhteensopiva kääntäjä, vähimmäisvaatimukset määritelty vaihtelee, että on, −(263-1), jotta 263-1 varten allekirjoitettu ja 0 264-1 varten unsigned, on täytettävä; kuitenkin, ulottuu tämä alue on sallittu., Tämä voi olla ongelma, kun vaihdetaan koodia ja tietoja alustojen välillä tai tehdään suoraa laitteistokäyttöä. Niinpä on olemassa useita otsikoita, jotka tarjoavat alustan riippumattoman tarkan leveyden tyyppejä. C standard library tarjoaa stdint.h; tämä otettiin käyttöön C99: ssä ja c++11: ssä.