Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Visual Basic fornisce diversi tipi di dati numerici per la gestione dei numeri in varie rappresentazioni. I tipi integrali rappresentano solo numeri interi (positivi, negativi e zero) e tipi non integrali rappresentano numeri con parti intere e frazionarie.
Per una tabella che mostra un confronto affiancato dei tipi di dati di Visual Basic, vedere Tipi di dati.
Tipi numerici integrali
I tipi di dati integrali sono quelli che rappresentano solo numeri senza parti frazionarie.
I tipi di dati integrali con segno sono tipo di dati SByte (8 bit), tipo di dati short (16 bit), tipo di dati integer (32 bit) e tipo di dati long (64 bit). Se una variabile archivia sempre numeri interi anziché numeri frazionari, dichiararlo come uno di questi tipi.
I tipi integrali senza segno sono tipo di dati Byte (8 bit), tipo di dati UShort (16 bit), tipo di dati UInteger (32 bit) e tipo di dati ULong (64 bit). Se una variabile contiene dati binari o dati di natura sconosciuta, dichiararli come uno di questi tipi.
Prestazioni
Le operazioni aritmetiche sono più veloci con tipi integrali rispetto ad altri tipi di dati. Sono più veloci con i Integer tipi e UInteger in Visual Basic.
Numeri interi di grandi dimensioni
Se è necessario contenere un numero intero maggiore del Integer tipo di dati, è possibile usare invece il Long tipo di dati .
Long le variabili possono contenere numeri compresi tra -9.223.372.036.854.775.808 e 9.223.372.036.854.775.807. Le operazioni con Long sono leggermente più lente rispetto a con Integer.
Se sono necessari valori ancora più grandi, è possibile usare il tipo di dati Decimal. È possibile contenere numeri compresi tra -79.228.162.514.264.337.593.543.950.335 e 79 228.162.514.264.337.593.543.950.335 in una Decimal variabile se non si usano posizioni decimali. Tuttavia, le operazioni con Decimal numeri sono notevolmente più lente rispetto a qualsiasi altro tipo di dati numerico.
Numeri interi piccoli
Se non è necessario l'intervallo completo del Integer tipo di dati, è possibile usare il Short tipo di dati , che può contenere numeri interi compresi tra -32.768 e 32.767. Per l'intervallo intero più piccolo, il SByte tipo di dati contiene numeri interi compresi tra -128 e 127. Se si dispone di un numero molto elevato di variabili che contengono numeri interi di piccole dimensioni, Common Language Runtime può talvolta archiviare le Short variabili e SByte in modo più efficiente e risparmiare consumo di memoria. Tuttavia, le operazioni con Short e SByte sono leggermente più lente rispetto a con Integer.
Numeri interi senza segno
Se si sa che la variabile non deve mai contenere un numero negativo, è possibile usare i tipi Byte, UShort, UIntegere ULong. Ognuno di questi tipi di dati può contenere un numero intero positivo due volte maggiore del tipo con segno corrispondente (SByte, Short, Integere Long). In termini di prestazioni, ogni tipo senza segno è altrettanto efficiente del tipo con segno corrispondente. In particolare, UInteger condivide con Integer la distinzione di essere il più efficiente di tutti i tipi di dati numerici elementari.
Tipi numerici non interi
I tipi di dati non irreversibili sono quelli che rappresentano numeri con parti intere e frazionarie.
I tipi di dati numerici non integrali sono Decimal (virgola fissa a 128 bit), tipo di dati singolo (a virgola mobile a 32 bit) e tipo di dati double (virgola mobile a 64 bit). Sono tutti tipi firmati. Se una variabile può contenere una frazione, dichiararla come uno di questi tipi.
Decimal non è un tipo di dati a virgola mobile.
Decimal i numeri hanno un valore intero binario e un fattore di ridimensionamento integer che specifica quale parte del valore è una frazione decimale.
È possibile usare le variabili Decimal per i valori di denaro. Il vantaggio è la precisione dei valori. Il Double tipo di dati è più veloce e richiede meno memoria, ma è soggetto a errori di arrotondamento. Il Decimal tipo di dati mantiene l'accuratezza completa a 28 posizioni decimali.
I numeri a virgola mobile (Single e Double) hanno un intervallo o valori più ampi rispetto ai numeri Decimal, ma possono essere soggetti a errori di arrotondamento. I tipi a virgola mobile supportano meno cifre significative rispetto a Decimal, ma possono rappresentare valori di grandezza maggiore.
I valori numerici non interi possono essere espressi come mmmEeee, in cui mmm è la mantissa (le cifre significative) ed eee è l'esponente (una potenza di 10). I valori positivi più alti dei tipi nonintegral sono 7.922816251426437593543950335E+28 per Decimal, 3.4028235E+38 per e 1.79769313486231570E+308 per SingleDouble.
Prestazioni
Double è il più efficiente dei tipi di dati frazionari, perché i processori sulle piattaforme correnti eseguono operazioni a virgola mobile con precisione doppia. Tuttavia, le operazioni con Double non sono veloci quanto con i tipi integrali, ad Integeresempio .
Piccole dimensioni
Per i numeri con la grandezza più piccola possibile (più vicina a 0), Double le variabili possono contenere numeri inferiori a -4,94065645841246544E-324 per valori negativi e 4,94065645841246544E-324 per valori positivi.
Numeri frazionari piccoli
Se non è necessario l'intervallo completo del Double tipo di dati, è possibile usare il Single tipo di dati , che può contenere numeri a virgola mobile da -3.4028235E+38 a 3.4028235E+38. Le dimensioni più piccole per Single le variabili sono -1,401298E-45 per i valori negativi e 1,401298E-45 per i valori positivi. Se si dispone di un numero molto elevato di variabili che contengono numeri a virgola mobile di piccole dimensioni, Common Language Runtime può talvolta archiviare le Single variabili in modo più efficiente e risparmiare il consumo di memoria.