Număr întreg (computer)
În informatică este definit întreg (sau în forma limba engleză număr întreg, de multe ori abreviat ca int) fiecare tip de date care pot reprezenta un subset matematic al numerelor întregi .
Valoare și reprezentare
Valoarea unui anumit tip întreg constă în număr întreg căreia îi corespunde. Reprezentarea acesteia constă în modul în care este stocat în memoria calculatorului. Toate datele pot fi semnate sau nesemnate, care discrimineaza capacitatea de a reprezenta numere negative.
Cea mai comună metodă de reprezentare a acestui tip de date constă dintr - un șir de biți , folosind sistemul binar . " Ordinea de octeți în cadrul șirului poate varia. Lungimea sau precizia este numărul de biți utilizați în reprezentarea. Un tip de date întreg cu precizie n poate reprezenta până la 2 n valori; de exemplu, un tip unsigned poate reprezenta numere între 0 și 2 n -1.
Există trei moduri diferite de a reprezenta numerele negative într-un sistem binar. Cel mai comun este " complement față de doi ", care permite sa reprezinte numerele 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 ale „semnul și valoarea absolută“ și „complementul“ ( a se vedea reprezentări numerice semnate ).
Tipuri comune de date întregi
Pic | Nume | Domeniul de aplicare | Angajamente |
---|---|---|---|
8 | Octet , octet | Semnat: -128-127 Nesemnate: 0-255 | Caracterele ASCII , caracterul C (minim), octet Java |
16 | Jumătate cuvânt, cuvânt | Semnat: -32768-32,767 Nesemnate: 0-65535 | Caractere UCS-2 , C int scurt (minim), întregul C (minim), caractere Java, scurt Java |
32 | cuvânt, cuvânt dublu (dublu), lung | Semnat: -2147483648-2147483647 Nesemnate: 0-4294967295 | Caractere UCS-4 , Adevărata culoare cu alfa, C int (normal), C int lung (minim), Java int |
64 | cuvânt dublu, lung, cvadruplu | Semnat: de la -9.223.372.036.854.775.808 +9.223.372.036.854.775.807 Nesemnate: 0 până la +18.446.744.073.709.551.615 | C int lung (pe sistemele linux pe 64 de biți [1] ), C99 long int lung (minim), Java lung |
128 | Semnat: de la -170.141.183.460.469.231.731.687.303.715.884.105.728 +170.141.183.460.469.231.731.687.303.715.884.105.727 Nesemnate: 0 până la +340.282.366.920.938.463.463.374.607.431.768.211.455 | C int __attribute__ ((mod (TI))) (pe 64 de biți sisteme cu gcc ) | |
n | Integer n biți | Semnat: -2 ^ {n-1} la 2 ^ {n-1} -1 Unsigned: 0 la 2 ^ {n} -1 |
De obicei fiecare CPU suportă un număr mic de tipuri de date, ambele cu și fără semn. Cele de mai sus arată tabelul de tipurile suportate de majoritatea procesoarelor din punct de vedere comercial prin hardware. Limbaje de programare de nivel înalt permit , de exemplu , numere formate dintr - un număr de biți de două ori maximă suportată de „hardware - ul.
Unele limbi, cum ar fi LISP , REXX și Haskell , numere de sprijin pentru „precizie arbitrară“ ( de asemenea , cunoscut sub numele de numere întregi la „precizie infinită“ sau bignum); alte limbi au biblioteci care permit să reprezinte numere prin seturi de variabile mai mici, cum ar fi BigInteger în 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.
O bază de date de tip boolean sau de pavilion poate reprezenta doar două valori: 0 și 1, de obicei , asociate cu false și adevărate, respectiv. 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 este numit tetradă : una dintre aceste corespunde unei cifre în codificarea hexazecimal și conține o cifră sau un cod semn zecimal binar .
Un întreg lung (întreg lung) poate conține un număr pozitiv sau negativ întreg cuprins într - un interval egal cu sau mai mare decât cea a unei variabile întreg normal pe aceeași platformă. În practică, este obișnuit ca un întreg lung să ocupe dublu sau același spațiu ca un întreg normal, deși acest lucru nu este necesar. O variabilă definită cu lung tip întreg într - un limbaj de programare poate avea o dimensiune diferită de la o variabilă definită cu un tip similar într -o altă limbă. De asemenea , în unele limbi , cum ar fi Java dimensiunea este fixat pentru toate platformele , în timp ce altele depind de tipul de mașină.
Ceea ce urmează este un tabel cu cele mai multe numere întregi lungi comune î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 | Pentru 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 |
L ' API Windows definește tipul LONG
ca un întreg pe 4 octeți. Acest lucru se aplică indiferent pe 16, 32 și 64 de biți sisteme din motive de compatibilitate .
Indicatori
Un indicator este de multe ori, dar nu întotdeauna, într - un număr întreg de lungime dată. Acest lucru este de multe ori cea mai mare acceptată de hardware în sistem. Valoarea numărului este adresa către care indică indicatorul.
Octet și octet
Octetul Termenul a fost inițial raportată la cea mai mică cantitate de memorie adresabil: în trecut au fost folosite pentru 5,6,7,8 și 9-biți octet. Ele au fost , de asemenea , create de calculator , care ar putea aborda biții individuali sau doar cuvinte de 16 biți sau 32, în legătură cu care octetul termenul nu a fost folosit deloc.
Termenul "octet" se referă numai la cantități de memorie de 8 biți. Acesta utilizează în principal pentru rețele de calculatoare , în care computerele care utilizează mai multe formate pot avea de a comunica.
În prezent, termenul „octet” a căzut în desuetudie împreună cu celelalte formate și este în general identificat cu termenul „octet”.
Octeții sunt utilizate pentru a măsura cantitatea de date de fiecare calculator, care este un șir de 50 de biti de text, un fișier de la 100 KB, un modul de memorie RAM 128 MB sau un hard disk de 30 GB. Prefixele utilizate pentru unitățile de măsură sunt de multe ori la fel ca sistemul internațional , dar magnitudinile sunt diferite; Acest lucru este deosebit de important pentru hard disk - uri, ale căror producători vor face publicitate capacitatea cu unitățile SI, ceea ce le face par mai capabile decât sunt în realitate ( a se vedea articolul despre prefixele binare ).
Cuvânt
Cuvântul Termenul (în limba engleză cuvânt) este utilizat în calcul pentru grupuri mici de biți care pot fi procesate simultan de către CPU 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. Semnificația derivate termeni jumătate de cuvânt, dublu-cuvânt, cuvânt lung, cuvânt de patru ori , de asemenea , din ce în ce depinde de CPU și sistemul de operare . La 2004 cuvintele de 32 de biți sunt utilizate în cele mai frecvente utilizarea calculatoarelor, în timp ce cuvinte pe 64 de biți sunt utilizate în sistemele de mari dimensiuni. Multe procesoare embedded încă mai folosesc cuvinte la 8 și 16 biți, în timp ce cuvintele de 36 biți sau nu mai multe de 8 biți, utilizate pentru primele zile, au dispărut împreună cu octetul nu pe 8 biți.
Notă
- ^ Agner ceață, convențiile de apel pentru diferite C compilatoare ++ și sisteme de operare: Capitolul 3, de reprezentare a datelor (PDF) pe agner.org, 16 februarie 2010. Adus de 30 august 2010.