Numero intero (informatica): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
LiveRC : Annullata la modifica di 93.41.17.53; ritorno alla versione di 151.95.46.149 |
m clean up, replaced: dall''' → dall{{'}}'' |
||
(14 versioni intermedie di 9 utenti non mostrate) | |||
Riga 6:
Il metodo più comune di rappresentare questo tipo di dati consiste in una stringa di [[bit]], usando il [[Sistema numerico binario|sistema binario]]. L'[[ordine dei byte]] all'interno della stringa può variare. La ''lunghezza'' o ''precisione'' è il numero di bit impiegato nella rappresentazione. Un tipo di dati intero con precisione n può rappresentare fino a 2<sup>n</sup> valori; per esempio, un tipo senza segno può rappresentare i numeri da 0 a 2<sup>n</sup>-1.
Esistono tre modi differenti per rappresentare i numeri negativi in un sistema binario. Il più comune è il "[[complemento a due]]", che permette di rappresentare i numeri da -2<sup>(n-1)</sup>
== Tipi di dato interi comuni ==
Riga 27:
|}
In genere ogni [[CPU]] supporta un ridotto numero di tipi di dati, sia con sia senza segno. La tabella sopra mostra i tipi supportati dalla maggior parte dei processori in commercio in via ''hardware''. Linguaggi di programmazione ad alto livello permettono ad esempio numeri composti da un numero di bit doppio rispetto al massimo supportato dall{{'}}''hardware''.
Alcuni linguaggi, come [[LISP]], [[REXX]] e [[Haskell (linguaggio)|Haskell]], supportano numeri a "precisione arbitraria" (conosciuti anche come interi a "precisione infinita" o ''bignum''); altri linguaggi possiedono librerie che permettono di rappresentare numeri attraverso insiemi di variabili più piccole, come i ''BigInteger'' di [[Java (linguaggio di programmazione)|Java]]. Questi metodi usano per la rappresentazione del numero tanta memoria quanta ne è necessaria, ma la memoria dei computer è finita, e quindi anche questi metodi permettono di rappresentare un insieme comunque finito di numeri interi. Si può comunque arrivare, con 8 KB di memoria, a rappresentare numeri di 2466 cifre.
Un tipo di dato [[Algebra di Boole|booleano]] o [[flag]] può rappresentare solo due valori: 0 e 1, generalmente associati rispettivamente a ''falso'' e ''vero''. Questo tipo può essere immagazzinato su un singolo bit, ma generalmente viene impiegato un intero byte per semplicità di indirizzamento e velocità di accesso.
Una stringa di quattro bit è chiamata [[nibble]]: uno di questi corrisponde ad una cifra in codifica [[esadecimale]] e contiene una cifra o un codice di segno in [[Binary-coded decimal|decimale binario]].
Un long integer (''intero lungo'') può contenere un numero intero positivo o negativo compreso in un intervallo uguale o più ampio di quello di una normale variabile ''intero'' sulla stessa piattaforma. Nella pratica è comune che un long integer occupi il doppio o lo stesso spazio richiesto da un normale integer, seppure questo non sia necessario. Una variabile definita col tipo long integer in un [[linguaggio di programmazione]] può avere una dimensione diversa da una variabile definita con un tipo simile in un altro linguaggio. Inoltre in alcuni linguaggi come [[Java (linguaggio di programmazione)|Java]] la dimensione è fissa per tutte le [[piattaforma (informatica)|piattaforme]], mentre in altri dipende dal tipo di macchina.
Quella che segue è una tabella dei più comuni valori del ''long integer'' nei diversi linguaggi di programmazione:
Riga 51:
o 2<sup>63</sup>−1
|-
| [[Java (linguaggio di programmazione)|Java]] || tutte le piattaforme || <code>long</code> || 8 || −9.223.372.036.854.775.808
o −2<sup>63</sup>
|| 9.223.372.036.854.775.807
Riga 67:
|}
L'[[API di Windows]] definisce il tipo <
== Puntatori ==
{{Vedi anche|Puntatore (programmazione)}}
Un
== Byte e ottetto ==
Riga 76 ⟶ 77:
Il termine ''byte'' era inizialmente riferito alla '''più piccola quantità di memoria indirizzabile''': in passato furono usati byte a 5,6,7,8 e 9 bit. Furono creati inoltre computer che potevano indirizzare i singoli bit o solo ''parole'' di 16 o 32 bit, al riguardo dei quali il termine byte non era utilizzato affatto.
Il termine "ottetto" si riferisce esclusivamente a quantità di memoria di 8 bit. Si utilizza soprattutto per le [[rete informatica|reti informatiche]], in cui elaboratori che utilizzano più formati possono dover comunicare.
Attualmente il termine "ottetto" è caduto in disuso insieme agli altri formati, e viene generalmente identificato col termine "byte".
Riga 84 ⟶ 85:
== Word ==
{{vedi anche|Word}}
Il termine ''word'' (
== Note ==
<references><ref name=agnerfog>{{Cita web|url=http://www.agner.org/optimize/calling_conventions.pdf|titolo=Calling conventions for different C++ compilers and operating systems: Chapter 3, Data Representation |data=16 febbraio 2010 |accesso=30 agosto 2010 |cognome=Fog |nome=Agner}}</ref></references>▼
<references>
▲
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC||integer}}
{{portale|informatica}}
[[Categoria:Standard informatici]]
|