Integer (computer science) (Magyar)

különböző CPU-k támogatják a különböző integrált adattípusokat. Általában a hardver támogatja mind az aláírt, mind az aláíratlan típusokat, de csak egy kis, rögzített szélességű készletet.

a fenti táblázat azokat az integrált típusszélességeket sorolja fel, amelyeket a közös processzorok támogatnak a hardverben. A magas szintű programozási nyelvek több lehetőséget kínálnak. Gyakori, hogy van egy “kettős szélesség” integrált típus, amely kétszer annyi bitet tartalmaz, mint a legnagyobb hardver által támogatott típus., Számos nyelvnek van bitmező típusa is (egy meghatározott bitszám, amely általában kisebb, mint a hardver által támogatott maximális szélesség) és tartománytípusok (amelyek csak a megadott tartományban lévő egészeket reprezentálhatják).

egyes nyelvek, például Lisp, Smalltalk, REXX, Haskell, Python és Raku tetszőleges precíziós egészeket (más néven végtelen precíziós egészeket vagy bignumokat) támogatnak., Más olyan nyelvek, amelyek nem támogatják ezt a koncepciót felső szintű konstrukcióként, lehetnek olyan könyvtárak, amelyek nagyon nagy számban képviselhetik a kisebb változók tömbjeit, például a Java BigInteger osztályát vagy a Perl “bigint” csomagját. Ezek a számítógép memóriájának annyi részét használják, amennyi a számok tárolásához szükséges; azonban egy számítógépnek csak véges tárhelye van, így ők is csak a matematikai egész számok véges részhalmazát képviselik. Ezek a rendszerek nagyon nagy számokat támogatnak, például egy kilobájt memória felhasználható akár 2466 decimális számjegy hosszú tárolására is.,

a logikai vagy Zászlótípus olyan típus, amely csak két értéket képviselhet: 0 és 1, általában hamis, illetve true értékkel azonosítva. Ez a típus egyetlen bit segítségével tárolható a memóriában, de gyakran teljes bájtot kap a címzés és a hozzáférés sebessége érdekében.

a négy bites mennyiséget rágcsálásnak (étkezés közben, kisebb, mint egy harapás) vagy nybble-nek (a bájt szó formájában) nevezik. Egy nibble egy hexadecimális számjegynek felel meg, és egy számjegyet vagy jelkódot tartalmaz bináris kóddal.,

bájtok és oktettekszerkesztés

főbb cikkek: Byte és Octet (computing)

a byte kifejezés eredetileg “a memória legkisebb címezhető egységét” jelentette. A múltban, 5-, 6-, 7-, 8-, és 9 bites bájtokat is használtak. Voltak olyan számítógépek is, amelyek az egyes biteket (“bit-címzett gép”), vagy csak a 16 vagy 32 bites mennyiségeket (“Word – címzett gép”) tudták kezelni. A byte kifejezést általában egyáltalán nem használták a bit – és word-címzett gépekkel kapcsolatban.

az octet kifejezés mindig 8 bites mennyiségre utal., Leginkább a számítógépes hálózatépítés területén használják, ahol a különböző bájtszélességű számítógépeknek kommunikálniuk kell.

a modern Használati bájt szinte mindig nyolc bitet jelent, mivel az összes többi méret használatba esett; így a bájt az octet szinonimájává vált.

WordsEdit

főcikk: Word (computer architecture)

gyakorlatilag az összes új asztali processzor képes 64 bites szavakat használni, bár a 8 és 16 bites word méretű beágyazott processzorok továbbra is gyakoriak. A 36 bites szó hossza gyakori volt a számítógépek korai napjaiban.,

a szoftver nem hordozhatóságának egyik fontos oka az a helytelen feltételezés, hogy minden számítógép ugyanolyan méretű, mint a programozó által használt számítógép. Például, ha a C nyelvet használó programozó helytelenül deklarálja int változóként, amelyet 215-1-nél nagyobb értékek tárolására használnak, a program sikertelen lesz a 16 bites egész számokkal rendelkező számítógépeken. Ezt a változót hosszúnak kellett volna nyilvánítani, amelynek legalább 32 bitje van bármely számítógépen., A programozók tévesen azt is feltételezhetik, hogy a mutató információvesztés nélkül egész számra konvertálható, ami (néhány) 32 bites számítógépeken működhet, de 64 bites számítógépeken 64 bites mutatókkal és 32 bites egész számokkal nem. Ezt a problémát a C99 oldja meg stdintben.h intptr_tformában.

Short integerEdit

egy rövid egész szám egy egész számot képviselhet, amely kevesebb tárhelyet vehet igénybe, miközben kisebb tartományt tartalmaz, összehasonlítva ugyanazon a gépen lévő szabványos egész számmal.

C-ben rövid., Legalább 16 bitnek kell lennie, gyakran kisebb, mint egy szabványos egész szám, de erre nincs szükség. A megfelelő program feltételezheti, hogy biztonságosan tárolhat értékeket −(215-1) és 215-1 között, de nem feltételezheti, hogy a tartomány nem nagyobb. Java-ban a rövid mindig 16 bites egész szám. A Windows API-ban a datatype SHORT 16 bites aláírt egész számként definiálható minden gépen.,>−32,768

+32,767 ushort unsigned 2 0 65,535 Java short signed 2 −32,768 +32,767

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 – ben hosszú. Legalább 32 bitnek kell lennie, és lehet, hogy nem nagyobb, mint egy standard egész szám. A megfelelő program feltételezheti, hogy biztonságosan tárolhat értékeket −(231-1) és 231-1 között, de nem feltételezheti, hogy a tartomány nem nagyobb.

Longedit

“long long long” átirányítások itt. Nem szabad összekeverni a hosszú vagy hosszú, hosszú, hosszú.,

A C programozási nyelv C99-es verziójában és a C++11-es verziójában along long típus támogatott, amely kétszerese a standardlongminimális kapacitásának. Ezt a típust nem támogatják olyan fordítóprogramok, amelyek megkövetelik, hogy a C kód megfeleljen az előző C++ szabványnak, a C++03-nak, mivel a hosszú hosszú típus nem létezett a C++03-ban. Az ANSI / ISO-szabványnak megfelelő fordító esetében a megadott tartományokra vonatkozó minimumkövetelményeket, azaz −(263-1) – 263-1 az aláírt és 0-tól 264-1-ig az aláíratlan esetén, teljesíteni kell; ennek a tartománynak a kiterjesztése azonban megengedett., Ez problémát jelenthet a platformok közötti kód-és adatcsere során, vagy közvetlen hardveres hozzáférés esetén. Így számos fejléc van, amelyek platformfüggetlen pontos szélességű típusokat biztosítanak. A C standard könyvtár stdint-et biztosít.h; ezt C99-ben és C++11-ben vezették be.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük