ScSami
Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
24
24 janv. 2006 à 21:52
C'est pas compliqué en réalité !
Tu peux avoir soit des variables (case mémoire simple), soit des tableaux (comme les tableaux mais de 1 dimension à plusieurs...). Or, ces cases mémoires, pour être réservées en mémoire justement, il faut connaître leur taille (en Octet). Et oui, car si le Bit (0 ou 1) est l'unité primitive, l'unité réel est l'Octet (qui fait 8 bits soit, en décimale, un nombre compris entre 0 et 255 soit 256 nombres! Prends une calculette scientifique et convertit "1111 1111" du binaire au décimal et tu obtiendras le nombre décimal 255.).
Donc, si tu as besoin d'une variable ne stockant qu'un nombre entier compris entre 0 et 255, tu n'as besoin que d'un octet en mémoire. Mais si tu as besoin de plus...
Alors ce qu'il faut savoir en informatique c'est qu'on compte avec les multiples binaires.
Si on prendre 2 octets, on n'obtient pas 2 * 256 (soit 512) mais 256 * 256 (256 puissance 2) soit 65'536. Autrement dit, un nombre compris entre 0 et 65'535. Pourquoi ?
Parce qu'en fait, c'est comme si, au lieu de compter en base 10 (décimal) on comptait en base 256. Autrement dit, c'est comme si, au lieux de n'avoir que 10 chiffres (0-9) on en avait 256!!!
En décimale 9|9 donne 0-100
En base 256 : 255|255 donne 0-65'535
D'ailleurs, pour représenter ces 256 octets de base, au lieu de les afficher toujours sous la forme de 8 bits (1010'1010) - ce qui serait impossible à gérer pour l'être humain - on a créer, selon les pays, un table de caractères dite ASCII. Donc, chaque octet possède son propre caractère ASCII de représentation!
Pour en revenir à nos variables et notre mémoire. On a créer des types
de variable
prédéfinits en fonction des besoins. Par exemple, il y a les chiffres, le texte et les formats autres comme la date. Dans chacune de ces cathégories il y a plusieurs types. Mais les cathégories n'existent pas réellement.
Pour le texte, c'est simple, c'est le type String qui veut dire en anglais "Chaine" pour Chaine de caractère. Pense aux strings culottes qui sont des ficelles... des ficelles de mots passant entre les fesses des jolies filles ;-)
Pour les nombre, c'est plus nuancé. En effet, il y a deux types de nombre : les entier et les réels (niveau CM2 ça!). Les entiers n'ont pas de virgules alors que les réels en ont (les décimales).
Le premier type, le plus court, c'est : Byte. Oui, parce que Byte c'est le nom anglais de Octet (d'où d'ailleurs les Kilo Bytes [KB] qui ne sont pas des Kilos Bits !!!). Pour info d'ailleurs, BIT est issu de Binary dIgiT (les digites étant, dans notre langue également, les symboles numériques... autrement dit, les chiffres, mais ici, les chiffres des ordinateurs {électro-magnétiques et cie}).
Donc, tu peux mettre des nombres compris entre 0 et 255 dans une variable déclarée en type Byte.
Après il y a le type Integer codé sur 2 octets (0-65'536). Integer voulant dire Entier !
Ensuite il y a le type Long... En fait, Long Integer soit Entiers Longs codés, si je ne m'abuse, sur 3 Bytes soit un nombre de 0 à 16'777'215.
Viennent ensuite les réels. Les types sont Singles et Double.
Pour les dates et cie je te laisse te référer à la MSDN qui est l'aide du VB!
Dim varAge As Byte '0-255 ans c'est bien suffisant! Pi y'a pas de virgules à un âge!
Dim varNom As String 'Taille indéterminée mais 1 byte par caractère, normal!
Mais si tu mets une valeur fausse (dépassant le type ou étant d'un type différent [du texte dans une variable de type Single par exemple ou alors 256 dans une variable de type byte, ...] un erreur sera générée!
Mais si tu ne précise pas le type de ta variable ou de ton tableau, il/elle sera de type Variant et pourra être utilisé sans plus de complications (d'où tout l'avantage du VB/VBA face aux autres langages!!!). Fait également attention car tu ne peux pas, sauf avec le type Variant ou avec des fonctions bien spècifiques, passer une variable d'un type à un autre !!!
Voilà, c'était juste pou la petite explication
Mais si tu veux en savoir plus, je suis à ta disposition !
Enjoy
<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )