Partager via


Types de données numériques (Visual Basic)

Visual Basic met à votre disposition plusieurs types de données numériques permettant de gérer les nombres dans diverses représentations. Les types intégraux ne représentent que les nombres entiers (positifs, négatifs et zéro), tandis que les types non intégraux représentent les nombres composés d'une partie entière et d'une partie fractionnaire.

Pour consulter un tableau présentant une comparaison côte à côte des types de données de Visual Basic, consultez Liste des types de données (Visual Basic).

Types numériques intégraux

Les types de données intégraux sont ceux qui ne représentent que des nombres sans partie fractionnaire.

Les types de données intégraux signés sont SByte, type de données (Visual Basic) (8 bits), Short, type de données (Visual Basic) (16 bits), Integer, type de données (Visual Basic) (32 bits) et Long, type de données (Visual Basic) (64 bits). Si une variable enregistre toujours des nombres entiers plutôt que des nombres fractionnaires, déclarez-la avec l'un de ces types.

Les types intégraux non signés sont Byte, type de données (Visual Basic) (8 bits), UShort, type de données (Visual Basic) (16 bits), UInteger, type de données (32 bits) et ULong, type de données (Visual Basic) (64 bits). Si une variable contient des données binaires ou des données de nature inconnue, déclarez-la avec l'un de ces types.

Performances

Les opérations arithmétiques sont plus rapides avec les types intégraux qu'avec les autres types de données. Ils sont plus rapides avec les types Integer et UInteger dans Visual Basic.

Grands entiers

Si vous devez maintenir un entier plus grand que le type de données Integer peut contenir, vous pouvez utiliser à la place le type de données Long. Les variables Long peuvent contenir des nombres de -9,223,372,036,854,775,808 à 9,223,372,036,854,775,807. Les opérations avec Long sont légèrement plus lentes qu'avec Integer.

Si vous avez besoin de valeurs encore plus grandes, vous pouvez utiliser le Decimal, type de données (Visual Basic). Vous pouvez placer des nombres compris entre -79 228 162 514 264 337 593 543 950 335 et 79 228 162 514 264 337 593 543 950 335 dans une variable Decimal si vous n'utilisez pas de décimales. Toutefois, les opérations avec les nombres Decimal sont considérablement plus lentes qu'avec tout autre type de données numériques.

Petits entiers

Si vous n'avez pas besoin de la plage complète du type de données Integer, vous pouvez utiliser le type de données Short qui peut contenir des entiers de -32,768 à 32,767. Pour la plus petite plage d'entiers, le type de données SByte contient des entiers de -128 à 127. Si vous avez un même grand nombre des variables qui contiennent de petits entiers, le common language runtime peut quelquefois stocker plus efficacement vos variables Short et SByte et réduire la consommation de mémoire. Toutefois, les opérations avec Short et SByte sont un peu plus lentes qu'avec Integer.

Entiers non signés

Si vous savez que votre variable ne contiendra jamais de nombre négatif, vous pouvez utiliser les types non signés Byte, UShort, UInteger et ULong. Chacun de ces types de données peut contenir un entier positif deux fois plus grand que son type signé correspondant (SByte, Short, Integer et Long). En termes de performances, chaque type non signé est exactement aussi efficace que son type signé correspondant. En particulier, UInteger partage avec Integer la distinction d'être le plus efficace de tous les types de données numériques élémentaires.

Types numériques non intégraux

Les types de données non intégraux représentent des nombres composés d'une partie entière et d'une partie fractionnaire.

Les types de données numériques non intégraux sont Decimal (128 bits virgule fixe), Single, type de données (Visual Basic) (32 bits virgule flottante) et Double, type de données (Visual Basic) (64 bits virgule flottante). Tous ces types sont signés. Si une variable peut contenir une fraction, déclarez-la avec l'un de ces types.

Decimal n'est pas un type de données à virgule flottante. Les numéros Decimal ont une valeur de nombre entier binaire et un facteur d'échelle entier qui spécifient quelle partie de la valeur est une fraction décimale.

Les nombres à virgule flottante (Single et Double) présentent des plages plus larges que les nombres de type Decimal, mais ils peuvent être sujets aux erreurs d'arrondi. Les types à virgule flottante prennent en charge un nombre de chiffres significatifs inférieur à celui du type Decimal, mais ils peuvent représenter des valeurs d'amplitude supérieure.

Les valeurs de nombres non intégraux peuvent être exprimées comme mmmEeee, où mmm est la mantisse (les bits significatifs) et eee est l'exposant (une puissance de 10). Les valeurs positives les plus élevées des types non intégraux sont 7,9228162514264337593543950335E+28 pour Decimal, 3,4028235E+38 pour Single et 1,79769313486231570E+308 pour Double.

Performances

Double est le plus efficace des types de données fractionnaires, car les processeurs des plateformes actuelles exécutent les opérations en virgule flottante en double précision. Toutefois, les opérations avec Double ne sont pas aussi rapides qu'avec les types intégraux, tels que Integer.

Petites amplitudes

Pour les nombres avec la plus petite amplitude possible (le plus proche de 0), les variables Double peuvent contenir des nombres aussi petits que -4,94065645841246544E-324 pour les valeurs négatives et 4,94065645841246544E-324 pour les valeurs positives.

Petits nombres fractionnaires

Si vous n'avez pas besoin de la plage complète du type de données Double, vous pouvez utiliser le type de données Single qui peut contenir des nombres à virgule flottante de -3.4028235E+38 à 3.4028235E+38. Les plus petites amplitudes pour les variables Single sont -1.401298E-45 pour les valeurs négatives et 1.401298E-45 pour les valeurs positives. Si vous avez un grand nombre de variables qui contiennent de petits nombres à virgule flottante, le Common Language Runtime peut quelquefois stocker plus efficacement vos variables Single et réduire la consommation de mémoire.

Voir aussi

Tâches

Dépannage des types de données (Visual Basic)

Comment : stocker des entiers dans une variable (Visual Basic)

Comment : stocker des fractions dans une variable (Visual Basic)

Comment : stocker le plus grand nombre possible dans une variable (Visual Basic)

Comment : optimiser le stockage d'entiers positifs avec les types non signés (Visual Basic)

Comment : appeler une fonction Windows qui possède des types non signés (Visual Basic)

Comment : stocker les chiffres les plus significatifs dans une variable (Visual Basic)

Comment : stocker des valeurs monétaires dans une variable (Visual Basic)

Concepts

Types de données caractères (Visual Basic)

Types de données divers (Visual Basic)

Autres ressources

Types de données élémentaires (Visual Basic)