Integer

A Programozás Wiki wikiből

Az Integer a programozási nyelvekben az egész számokat ábrázoló adattípus. A konkrét megvalósítás nyelvenként és fordítónként eltérhet, de legtöbb esetben 1,2,4, vagy 8 bájton bináris formában ábrázolt számokról van szó. A mai processzorok zöme az egészekkel végzett művelteket általában nagyon gyorsan és hatékonyan végzi, ezért ez igen elterjedt és hordozhatónak számító alaptípus.

Az Integer (feltehetőleg) minden esetben előjeles egész számokat jelent, vagyis negatív számok is ábrázolhatók. Az ábrázolás bevett módja a kettes komplemens képzés, vagyis egy negatív szám kódja az a bináris szám, amihez az ellentettjét adva 0-s maradékot kapunk. 1 bájton ábrázolva tehát a -42 kódja 11010110, mivel ehhez a bináris 42-t (00101010) adva (100000000)-at, vagyis 1 bájton 0-s maradékú értéket kapunk. Ez az ábrázolási forma azért nagyon előnyös, mert a pozitív és negatív számok összeadásához és kivonásához ugyanazt az eljárást használhatjuk.

Az Integer-nek megfelelő típust bizonyos nyelveken a rövidebb int kulcsszóval jelölik. Előfordul, hogy az ábrázolás bájtjainak számát is meghatározhatjuk, gyakran a short vagy long szavakkal. Vannak nyelvek, ahol például a short int, long int, vagy a ShortInt, LongInt szavak adattípusokat jelölnek. Az egy bájton ábrázolt egész értéket néhol signed char-nak nevezik.

Eltérés mutatkozik az architektúrák ábrázolásai között a bájtok sorrendjében. Az alacsony kezdetű (Little Endian, LE, Least Significant Byte, LSB) ábrázolásnál a memóriában vagy háttrétárban először az alacsony helyiértékű bájt jelenik meg, azt követi a második legalacsonyabb helyiértékű bájt, és így tovább. Ezt az ábrázolási módot használják például az x86 processzorok, vagy a .wav fájlformátum. Magas kezdetű (Big Endian, BE, Most Significant Byte, MSB) ábrázolásnál pedig először a legmagasabb helyiértékű bájt jelenik meg, és azt követi a többi sorban. Ezt a módot használják pl a PowerPC processzorok. A network byte order kifejezés is ezt a módot jelenti.