Visual
Basic 6
Tipo
de variable |
Valor |
Ocupa |
Rango |
Integer
|
Valor
Entero |
2
Bytes |
-32768
a 32767 |
Long
|
Valor
Entero Largo |
4
Bytes |
-2147483648
a 2147483647 |
Single
|
Valor
Real |
4
Bytes |
-3,402823E38
a -1,401298E-45 (valores negativos) -1,401298E-45 a 3,402823E38 (valores
positivos) |
Double
|
Valor
Real Doble |
8
Bytes |
-1,79769313486232
E308 a -4,94065645841247 E-324 (valores negativos) 4,94065645841247E-324
a 1,79769313486232E308 (valores positivos) |
String |
Carácter
(texto) |
1
Byte por carácter |
Desde
1 a 65000 |
Byte |
Byte |
1
Byte |
0
a 255 |
Boolean
|
Valor
Booleano (1/0) |
2
Bytes |
True
o False (1 ó 0) |
Currency
(real) |
Monedas
y Punto Fijo |
8
Bytes |
-922337203685477,5808
a 922337203685477,5807 |
Date
|
Fecha |
8
Bytes |
01/01/100
a 31/12/9999 |
Object
|
Referencias
a objetos |
4
Bytes |
[Objeto] |
Variant
|
Cualquiera |
16-22
Bytes |
Números:
16 Bytes hasta el intervalo Double Caracteres:
22 Bytes + longitud ed la cadena |
Decimal
(no existe en VB pero hay variable ke utilizan decimales komo el
Currency, Double, variant y el single. Pero el ke abarca más decimales
es el double ya ke son valores reales |
+/-
79228162514264337593543950335 (sin punto decimal)
+/-7,9228162514264337593543950335 ( 28 posiciones a la derecha del
signo decimal) +/-0,0000000000000000000000000001 (es el número más
pequeño posible) |
Fuente: http://smile430.tripod.com/smile/Curso.htm
C++
Tipo |
Tamaño |
Bool |
Adopta sólo
valores True ó False |
Byte |
1 |
Short |
2 |
Int |
4 |
Long |
8 |
|
|
Float |
4 |
Double |
8 |
|
|
Char |
1 |
Conversiones
sin Pérdida de información:
Tipo
Origen |
Tipo
Destino |
Byte |
double,
float, long, int, char, short |
Short |
double,
float, long, int |
Char |
double,
float, long, int |
Int |
double,
float, long |
long |
double, float |
float |
double |
Fuente:
http://www.mitecnologico.com/Main/TiposDeDatosSimples
.Net
.NET
Framework |
C#
2008 |
System.Boolean |
bool |
System.Byte |
byte |
System.Int16 |
short |
System.Int32 |
int |
System.Int64 |
long |
System.Single |
float |
System.Double |
double |
System.Decimal |
decimal |
System.Char |
char |
System.String |
string |
System.Object |
object |
System.DateTime |
N.A. (DateTime) |
|
|
System.SByte |
sbyte |
System.UInt16 |
ushort |
System.UInt32 |
uint |
System.UInt64 |
ulong |
.NET
Framework |
VB
2005 |
VB6 |
System.Boolean |
Boolean |
Boolean * |
System.Byte |
Byte |
Byte |
System.Int16 |
Short |
Integer |
System.Int32 |
Integer |
Long |
System.Int64 |
Long |
N.A. |
System.Single |
Single |
Single |
System.Double |
Double |
Double |
System.Decimal |
Decimal |
Currency * |
System.Char |
Char |
N.A. (ChrW) |
System.String |
String |
String * |
System.Object |
Object |
Variant /
Object * |
System.DateTime |
Date |
Date * |
|
|
|
System.SByte |
SByte |
N.A. |
System.UInt16 |
UShort |
N.A. |
System.UInt32 |
UInteger |
N.A. |
System.UInt64 |
ULong |
N.A. |
En ASP 3.0 se suele
usar VBScript como lenguaje de programación. En este lenguaje interpretado, al
igual que en VB6, un Integer representaba un entero de 16 bits. Los enteros de
32 bits eran de tipo Long. Es un fallo muy común usar desde Visual Basic .NET
el tipo Integer pensando que es de 16 bits cuando en realidad es capaz de
albergar números mucho mayores.
(*) No tienen
equivalencia directa, pero el o los tipos indicados serían los que más se
aproximarían. El caso del tipo String es un caso especial, realmente un String
de .NET es casi como uno de VB6, con la diferencia de que las cadenas en .NET
son inmutables, es decir, una vez que se han creado no se pueden modificar y en
caso de que queramos cambiar el contenido, .NET se encarga de usar la anterior y
crear una nueva cadena, por tanto si usamos las cadenas para realizar
concatenaciones (unión de cadenas para crear una nueva), el rendimiento es
inferior al que teníamos en VB6, si bien existe una clase en .NET que es ideal
para estos casos y cuyo rendimiento es, si no superior al menos parecido al de
VB6: la clase StringBuilder.
Las últimas filas mostradas en la tabla son tipos especiales que si bien son parte del sistema de tipos comunes (CTS) no forman parte de la Common Language Specification (CLS), es decir la especificación común para los lenguajes "compatibles" con .NET, por tanto, si queremos crear aplicaciones que puedan interoperar con todos los lenguajes de .NET, esos tipos no debemos usarlos como valores de devolución de funciones ni como tipo de datos usado en los argumentos de las funciones, propiedades o procedimientos.
Fuente: http://www.desarrollaconmsdn.com/