Număr întreg (computer)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În informatică , un întreg (sau în forma sa engleză integer , adesea prescurtat în int ) este definit ca orice tip de date care poate reprezenta un subset al setului matematic de numere întregi .

Valoare și reprezentare

Valoarea unui tip de date întregi constă din întregul la care corespunde. Reprezentarea sa constă în modul în care este stocat în memoria computerului. Datele întregi pot fi semnate sau nesemnate , ceea ce discriminează capacitatea sa de a reprezenta numere negative.

Cea mai comună metodă de reprezentare a acestui tip de date este un șir de biți , utilizând sistemul binar . Ordinea octeților din șir poate varia. Lungimea sau precizia este numărul de biți utilizați în reprezentare. Un tip de date întregi cu precizie n poate reprezenta până la 2 n valori; de exemplu, un tip nesemnat poate reprezenta numerele de la 0 la 2n -1.

Există trei moduri diferite de a reprezenta numerele negative într-un sistem binar. Cel mai comun este „ complementul celor doi ”, care vă permite să reprezentați numere de la -2 (n-1) la 2 (n-1) -1. Această metodă este convenabilă deoarece creează o corespondență unu-la-unu între valori și reprezentări și pentru că nu este necesar să se facă distincția între valorile semnate și nesemnate în operațiile de adunare și scădere. Celelalte metode utilizate sunt cele de „semn și valoare absolută” și „complementul cuiva” (vezi reprezentarea numerelor relative ).

Tipuri comune de date întregi

Pic Nume Domeniul de aplicare Angajamente
8 Octet , octet Semnat: -128 până la +127
Nesemnat: de la 0 la +255
Caracterele ASCII , caracterul C (minim), octeții Java
16 Jumătate cuvânt, cuvânt Semnat: -32,768 până la +32,767
Nesemnat: de la 0 la +65.535
UCS-2 caractere , int C scurt (minim), numere întregi C (minim), caracter Java, Java scurt
32 cuvânt, cuvânt dublu (dublu), lung Semnat: de la -2.147.483.648 la +2.147.483.647
Nesemnat: de la 0 la +4.294.967.295
UCS-4 caractere , Culoare adevărată cu alfa, C int (normal), C long int (minim), Java int
64 cuvânt dublu, lung, cvadruplu Semnat: de la −9.223.372.036.854.775.808 la +9.223.372.036.854.775.807
Nesemnat: de la 0 la +18.446.744.073.709.551.615
C long int (pe sistemele Linux pe 64 de biți [1] ), C99 long long int (minim), Java long
128 Cu semn: de la −170.141.183.460.469.231.731.687.303.715.884.105.728 la +170.141.183.460.469.231.731.687.303.715.884.105.727
Nesemnat: de la 0 la +340.282.366.920.938.463.463.374.607.431.768.211.455
C int __attribute__ ((mode (TI))) (pe sistemele pe 64 de biți cu gcc )
n N- bit întreg Semnat: -2 ^ {n-1} până la 2 ^ {n-1} -1
Nesemnat: 0 la 2 ^ {n} -1

De obicei, fiecare procesor acceptă un număr mic de tipuri de date, atât semnate, cât și nesemnate. Tabelul de mai sus prezintă tipurile acceptate de majoritatea procesoarelor de pe piață în hardware . Limbajele de programare la nivel înalt permit, de exemplu, numere constând din numărul dublu de biți în comparație cu maximul suportat de hardware .

Unele limbi, cum ar fi LISP , REXX și Haskell , acceptă numere de "precizie arbitrară" (cunoscute și ca numere întregi sau bignum de "precizie infinită"); alte limbi au biblioteci care vă permit să reprezentați numere prin seturi de variabile mai mici, cum ar fi BigInteger- ul Java . Aceste metode folosesc pentru reprezentarea numărului câtă memorie este necesară, dar memoria computerelor este finită și, prin urmare, aceste metode permit să reprezinte un set finit de numere întregi. Cu toate acestea, cu 8 KB de memorie, este posibil să se reprezinte numere de 2466 cifre.

Un tip de date boolean sau de semnalizare poate reprezenta doar două valori: 0 și 1, de obicei asociate cu false și , respectiv, adevărate . Acest tip poate fi stocat pe un singur bit, dar un octet complet este utilizat în general pentru ușurința adresării și viteza de acces.

Un șir de patru biți se numește nibble : unul dintre acestea corespunde unei cifre în codificare hexazecimală și conține o cifră sau un cod de semn în zecimal binar .

Un întreg lung ( întreg lung) poate conține un număr întreg pozitiv sau negativ cuprins într-un interval egal sau mai mare decât cel al unei variabile întregi normale pe aceeași platformă. În practică, este obișnuit ca un întreg lung să ocupe dublu sau același spațiu ca un întreg întreg, deși acest lucru nu este necesar. O variabilă definită cu tipul întreg lung într-un limbaj de programare poate avea o dimensiune diferită de o variabilă definită cu un tip similar într-un alt limbaj. În plus, în unele limbi, cum ar fi Java , dimensiunea este fixă ​​pentru toate platformele , în timp ce în altele depinde de tipul de mașină.

Următorul este un tabel cu cele mai comune valori întregi lungi în diferite limbaje de programare:

limbaj de programare platformă introduceți numele spațiu în octeți Valoare minimă valoare maximă
VB Windows Long 4 −2.147.483.648
sau −2 31
2.147.483.647
sau 2 31 −1
VBA Windows , Mac OS Long 4 −2.147.483.648
sau −2 31
2.147.483.647
sau 2 31 −1
VB.NET toate platformele long 8 −9.223.372.036.854.775.808

sau −2 63

9.223.372.036.854.775.807

sau 2 63 −1

Java toate platformele long 8 −9.223.372.036.854.775.808

sau −2 63

9.223.372.036.854.775.807

sau 2 63 −1

C # toate platformele long 8 −9.223.372.036.854.775.808

sau −2 63

9.223.372.036.854.775.807

sau 2 63 −1

PHP toate platformele $ 8 −9.223.372.036.854.775.808

sau −2 63

9.223.372.036.854.775.807

sau 2 63 −1

API-ul Windows definește tipul LONG ca un număr întreg de 4 octeți. Acest lucru se aplică în mod egal sistemelor de 16, 32 și 64 biți din motive de compatibilitate inversă .

Indicatori

Un indicator adesea, dar nu întotdeauna, constă dintr-un număr întreg de o lungime dată. Acesta este adesea cel mai susținut de sistem în hardware . Valoarea numărului este adresa către care indică indicatorul.

Octet și octet

Pictogramă lupă mgx2.svg Același subiect în detaliu: Octet .

Termenul de octet se referea inițial la cea mai mică cantitate de memorie adresabilă : în trecut au fost folosiți 5,6,7,8 și octeți de 9 biți. Au fost create, de asemenea, computere care ar putea adresa biți unici sau numai cuvinte de 16 sau 32 de biți, pentru care termenul de octet nu a fost deloc folosit.

Termenul "octet" se referă numai la cantități de memorie de 8 biți. Este utilizat în principal pentru rețelele de calculatoare , unde computerele care utilizează mai multe formate ar trebui să comunice.

În prezent, termenul „octet” a căzut în desuetudie împreună cu celelalte formate și este în general identificat cu termenul „octet”.

Octetii sunt folosiți pentru a măsura orice cantitate de date de calcul, fie că este un șir de text de 50 de octeți, un fișier de 100 KB, un modul RAM de 128 MB sau un hard disk de 30 GB . Prefixele utilizate pentru unitățile de măsură sunt adesea aceleași ca în sistemul internațional , dar cantitățile sunt diferite; acest lucru este deosebit de important pentru hard disk-uri, ai căror producători își promovează capacitatea în unități SI, făcându-le să pară mai capabile decât sunt de fapt (vezi articolul despre prefixele binare ).

Cuvânt

Pictogramă lupă mgx2.svg Același subiect în detaliu: Word .

Termenul cuvânt (în engleză cuvânt) este utilizat în calcul pentru grupuri mici de biți care pot fi prelucrate simultan de CPU-ul unei anumite arhitecturi. Mărimea cuvântului este specifică acestuia din urmă. Au fost folosite cuvinte de diferite dimensiuni, cum ar fi 6, 8, 12, 16, 18, 24, 32, 36, 39, 48, 60 și 64 de biți. Având în vedere dependența acestuia de arhitectură, dimensiunea cuvântului este determinată de primul procesor al unei familii, indiferent de compatibilitatea versiunilor ulterioare. Înțelesul termenilor derivați jumătate de cuvânt , cuvânt dublu , cuvânt lung , cuvânt cvadruplu depinde întotdeauna de CPU și de sistemul de operare . Începând cu 2004 , cuvintele pe 32 de biți sunt cele mai utilizate în computerele utilizate în mod obișnuit, în timp ce cuvintele pe 64 de biți sunt utilizate în sistemele mari. Multe procesoare încorporate folosesc încă cuvinte pe 8 și 16 biți, în timp ce cuvintele pe 36 de biți sau cel puțin nu multiplii de 8 biți, utilizați în primele zile de calcul, au dispărut împreună cu octeți non-8 biți.

Notă

  1. ^ Agner Fog, Convenții de apelare pentru diferite compilatoare și sisteme de operare C ++: Capitolul 3, Reprezentarea datelor ( PDF ), pe agner.org , 16 februarie 2010. Accesat la 30 august 2010 .
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT