venerdì 18 marzo 2016

Tipi elementari del linguaggio


  • VB.NET

(Si fa riferimento a Visual Basic 2015)
Nella tabella riportata di seguito vengono illustrati i tipi di dati Visual Basic, i relativi tipi di supporto in Common Language Runtime, la relativa allocazione di memoria nominale e gli intervalli di valori corrispondenti.
Tipo Visual Basic
Struttura dei tipi in Common Language Runtime
Allocazione di memoria nominale
Intervallo di valori
Dipende dalla piattaforma di implementazione
True False
1 byte
Da 0 a 255 (senza segno)
Char (carattere singolo)
2 byte
Da 0 a 65535 (senza segno)
8 byte
Dalle 0.00.00 (mezzanotte) dell'1 gennaio 0001 alle 23.59.59 del 31 dicembre 9999
16 byte
Da 0 a +/-79.228.162.514.264.337.593.543.950.335 (+/-7,9...E+28)  senza decimali; da 0 a +/-7,9228162514264337593543950335 con 28 posizioni decimali;
il numero più piccolo diverso da zero è +/-0,0000000000000000000000000001 (+/-1E-28) 
Double (virgola mobile a precisione doppia)
8 byte
Da -1,79769313486231570E+308 a -4,94065645841246544E-324  per i valori negativi;
Da 4,94065645841246544E-324 a 1,79769313486231570E+308  per i valori positivi
4 byte
Da -2.147.483.648 a 2.147.483.647 (con segno)
Long (valore long integer)
8 byte
Da -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 (9,2...E+18 ) (con segno)
Object (classe)
4 byte su piattaforma a 32 bit
8 byte su piattaforma a 64 bit
In una variabile di tipo Object è possibile memorizzare qualsiasi tipo
1 byte
Da -128 a 127 (con segno)
Short (valore short integer)
2 byte
Da -32.768 a 32.767 (con segno)
Single (virgola mobile a precisione singola)
4 byte
Da -3,4028235E+38 a -1,401298E-45  per i valori negativi;
Da 1,401298E-45 a 3,4028235E+38  per i valori positivi
String (lunghezza variabile)
String (classe)
Dipende dalla piattaforma di implementazione
Da 0 a circa 2 miliardi di caratteri Unicode
4 byte
Da 0 a 4.294.967.295 (senza segno)
8 byte
Da 0 a 18.446.744.073.709.551.615 (1,8...E+19 ) (senza segno)
(eredita da ValueType)
Dipende dalla piattaforma di implementazione
Ciascun membro della struttura presenta un intervallo determinato dal relativo tipo di dati e indipendente dagli intervalli degli altri membri
2 byte
Da 0 a 65.535 (senza segno)
 In notazione scientifica, la lettera "E" si riferisce a un potenza di 10. 3,56E+2 corrisponde pertanto a 3.56 x 10 2 o 356 e 3,56E-2 corrisponde a 3.56 / 10 2 o 0,0356.
  • C#

In C# sono supportati tutti i tipi di dati disponibili in Java e in più i numeri senza segno e un nuovo tipo a virgola mobile ad alta precisione a 128 bit.
Per ogni tipo di dati primitivo di Java, la libreria delle classi di base fornisce una classe wrapper che lo rappresenta come oggetto Java. La classeInt32, ad esempio, esegue il wrapping del tipo di dati int, mentre la classe Double esegue il wrapping del tipo di dati double.
Tutti i tipi di dati primitivi di C# sono invece oggetti nello spazio dei nomi System. Per ogni tipo di dati, viene fornito un nome breve, o alias. Ad esempio, int è il nome breve di System.Int32 e double è il nome breve di System.Double.
Nella tabella riportata di seguito è incluso l'elenco dei tipi di dati di C# e dei relativi alias. È possibile notare che i primi otto tipi di dati corrispondono ai tipi primitivi disponibili in Java. La parola chiave boolean di Java è denominata bool in C#.
Nome breve
Classe .NET
Tipo
Larghezza
Intervallo (bit)
byte
Valore integer senza segno
8
Da 0 a 255
sbyte
Valore integer con segno
8
Da -128 a 127
int
Valore integer con segno
32
Da -2.147.483.648 a 2.147.483.647
uint
Valore integer senza segno
32
Da 0 a 4294967295
short
Valore integer con segno
16
Da -32.768 a 32.767
ushort
Valore integer senza segno
16
Da 0 a 65535
long
Valore integer con segno
64
Da -922337203685477508 a 922337203685477507
ulong
Valore integer senza segno
64
Da 0 a 18446744073709551615
float
Tipo a virgola mobile e precisione singola
32
Da -3,402823e38 a 3,402823e38
double
Tipo a virgola mobile e precisione doppia
64
Da -1,79769313486232e308 a 1,79769313486232e308
char
Singolo carattere Unicode
16
Simboli Unicode utilizzati nel testo
bool
Tipo booleano logico
8
True o false
object
Tipo di base per tutti gli altri tipi
string
Sequenza di caratteri
decimal
Tipo frazionario o integrale esatto che può rappresentare numeri decimali con 29 cifre significative
128
Da ±1.0 × 10e−28 a ±7.9 × 10e28
Fonti:

https://msdn.microsoft.com/it-it/library/47zceaw7.aspx
https://msdn.microsoft.com/it-it/library/ms228360(v=vs.90).aspx

Nessun commento:

Posta un commento