Întreg (informatică)

diferite procesoare suportă diferite tipuri de date integrale. De obicei, hardware – ul va suporta atât tipurile semnate, cât și cele nesemnate, dar numai un set mic de lățimi fixe.

tabelul de mai sus enumeră lățimile de tip integrale care sunt suportate în hardware de către procesoarele obișnuite. Limbajele de programare la nivel înalt oferă mai multe posibilități. Este comun de a avea un tip integral „lățime dublă”, care are de două ori mai mulți biți decât cel mai mare tip de hardware suportate., Multe limbi au, de asemenea, tipuri de câmpuri de biți (un număr specificat de biți, de obicei constrâns să fie mai mic decât lățimea maximă acceptată de hardware) și tipuri de domenii (care pot reprezenta doar numerele întregi dintr-un interval specificat).unele limbi, cum ar fi Lisp, Smalltalk, REXX, Haskell, Python și Raku acceptă numere întregi arbitrare de precizie (cunoscute și sub numele de numere întregi de precizie infinite sau bignums)., Alte limbi care nu acceptă acest concept ca un construct de nivel superior pot avea biblioteci disponibile pentru a reprezenta un număr foarte mare folosind matrice de variabile mai mici, cum ar fi clasa BigInteger a Java sau pachetul „bigint” al Perl. Acestea folosesc atât de mult din memoria computerului cât este necesar pentru a stoca numerele; cu toate acestea, un computer are doar o cantitate finită de stocare, astfel încât și ele pot reprezenta doar un subset finit al numerelor întregi matematice. Aceste scheme acceptă un număr foarte mare, de exemplu un kilobyte de memorie ar putea fi utilizat pentru a stoca numere de până la 2466 de cifre zecimale.,

Un tip Boolean sau Flag este un tip care poate reprezenta doar două valori: 0 și 1, de obicei identificate cu false și respectiv true. Acest tip poate fi stocat în memorie folosind un singur bit, dar este adesea dat un octet complet pentru confortul adresării și viteza de acces.o cantitate de patru biți este cunoscută sub numele de nibble (atunci când mănâncă, fiind mai mică decât o mușcătură) sau nybble (fiind un punct pe forma cuvântului octet). Un nibble corespunde unei cifre în hexazecimal și deține o cifră sau un cod de semn în zecimal codat binar.,

Bytes and octetsEdit

articole principale: Byte and Octet (computing)

termenul byte a însemnat inițial „cea mai mică unitate de memorie adresabilă”. În trecut, 5-, 6-, 7-, 8-, și octeții de 9 biți au fost folosiți. Au fost, de asemenea, computerele care ar putea adresa individuale biți (‘pic-a adresat masina’), sau care ar putea adresa numai de 16 sau 32-bit cantități (‘- cuvânt adresat de mașini’). Termenul octet nu a fost de obicei folosit deloc în legătură cu mașinile adresate de biți și cuvinte.termenul octet se referă întotdeauna la o cantitate de 8 biți., Este folosit mai ales în domeniul rețelelor de calculatoare, unde computerele cu lățimi diferite de octeți ar putea trebui să comunice.

în utilizarea modernă, octetul înseamnă aproape invariabil opt biți, deoarece toate celelalte dimensiuni au căzut în uz; astfel, octetul a ajuns să fie sinonim cu octetul.

WordsEdit

Articol principal: Word (arhitectura computerului)

practic, toate procesoarele desktop noi sunt capabile să utilizeze cuvinte pe 64 de biți, deși procesoarele încorporate cu dimensiunea cuvântului pe 8 și 16 biți sunt încă comune. Lungimea cuvântului pe 36 de biți a fost comună în primele zile ale computerelor.,o cauză importantă a non-portabilității software-ului este presupunerea incorectă că toate computerele au aceeași dimensiune a cuvântului ca și computerul folosit de programator. De exemplu, dacă un programator care utilizează limbajul C declară incorect ca int o variabilă care va fi utilizată pentru a stoca valori mai mari de 215-1, programul va eșua pe computerele cu numere întregi pe 16 biți. Această variabilă ar fi trebuit declarată atâta timp, care are cel puțin 32 de biți pe orice computer., Programatorii pot, de asemenea, să presupună incorect că un pointer poate fi convertit într-un număr întreg fără pierderi de informații, care poate funcționa pe (unele) computere pe 32 de biți, dar nu reușesc pe computere pe 64 de biți cu indicatoare pe 64 de biți și numere întregi pe 32 de biți. Această problemă este rezolvată de C99 în stdint.h sub forma intptr_t.

scurt integerEdit

un număr întreg scurt poate reprezenta un număr întreg care poate dura mai puțin de stocare, în timp ce are un interval mai mic, în comparație cu un număr întreg standard pe aceeași mașină.

în C, este notat cu scurt., Este necesar să fie de cel puțin 16 biți și este adesea mai mic decât un număr întreg standard, dar acest lucru nu este necesar. Un program conform poate presupune că poate stoca în siguranță valori între −(215-1) și 215-1, dar nu poate presupune că intervalul nu este mai mare. În Java, Un scurt este întotdeauna un număr întreg pe 16 biți. În API-ul Windows, tipul de date scurt este definit ca un număr întreg semnat pe 16 biți pe toate mașinile.,>−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.,

în C, este notat cu long. Este necesar să fie de cel puțin 32 de biți și poate sau nu să fie mai mare decât un număr întreg standard. Un program conform poate presupune că poate stoca în siguranță valori între −(231-1) și 231-1, dar nu poate presupune că intervalul nu este mai mare.

Long longEdit

„long long” redirecționează aici. Nu trebuie confundat cu lung sau lung, lung, lung.,

În C99 versiune de limbajul de programare C și C++11 versiune de C++, un long long tip este acceptată, care are dubla capacitatea minimă de standard long. Acest tip nu este acceptat de compilatoare care necesită cod C să fie conforme cu standardul C++ anterior, C++03, deoarece tipul lung lung nu a existat în C++03. Pentru un ANSI/ISO compatibil compiler, cerințele minime pentru intervalele specificate, care este, −(263-1) să 263-1 pentru semnat și de la 0 la 264-1 pentru nesemnate, trebuie să fie îndeplinite; cu toate acestea, extinderea acestei game este permisă., Aceasta poate fi o problemă atunci când schimbați cod și date între platforme sau faceți acces direct la hardware. Astfel, există mai multe seturi de anteturi care oferă tipuri de lățime exactă independente de platformă. Biblioteca standard C oferă stdint.h; acest lucru a fost introdus în C99 și C++11.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *