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/