The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
Types contenant des entiers : char, short, int, long, long long
Jetons un coup d'œil à quelques exemples :
char cvar = 50 ; char cvar = 50 ; court svar = 50 ; entier ivar = 50 ; longs lvar1 = 50 ; longs lvar2 = 50 ;
Opérateurs arithmétiques de base :
La plupart connaissent les opérateurs arithmétiques de base et l'ordre de priorité : + , -, *, /
Voici quelques exemples d'utilisation de l'opérateur unaire : ++ et -- :
| Expression | Équivalent à | Également équivalent à |
|---|---|---|
| cvar += 5 ; | cvar = cvar + 5 ; | |
| ++cvar; | cvar++; | cvar = cvar + 1 ; |
| --cvar; | cvar--; | cvar = cvar - 1 ; |
Attention à la variable++ vs ++variable !
++variable
int x = 10, y = 20 ; X = ++y ;
Remarque : après cette opération : X = 21, et Y également = 21.
variable++
int x = 10, y = 20 ; X = y++ ;
Remarque : après cette opération : X = 20, et Y = 21.
Comparer le type de données entier
Il existe un groupe ou un type de données qui autorise à la fois les valeurs positives et négatives – « signé ». Cependant, vous n’avez pas besoin de le préciser car c’est implicite. Voir ci-dessous:
| Type de données | Valeur la plus petite | Valeur la plus élevée |
|---|---|---|
| carboniser | -2 7 ou -128 | 2 7 - 1 ou 127 |
| court | -2 15 ou -32 768 | 2 15 - 1 ou 32 767 |
| int | -2 31 ou -2 147 483 648 | 2 31 – 1 ou 2 147 483 647 |
| long | -2 31 ou -2 147 483 648 | 2 31 – 1 ou 2 147 483 647 |
| très longtemps | -2 63 ou -9 223 372 036 854 775 808 | 2 63 – 1 ou 9 223 372 036 854 775 807 |
Il existe un groupe ou un type de données qui autorise uniquement une valeur positive – « non signé ».
| Type de données | Valeur la plus petite | Valeur la plus élevée |
|---|---|---|
| caractère non signé | 0 | 2 8 - 1 ou 255 |
| court métrage non signé | 0 | 2 16 - 1 ou 65 535 |
| entier non signé | 0 | 2 32 – 1 ou 4 294 967 295 |
| non signé depuis longtemps | 0 | 2 32 – 1 ou 4 294 967 295 |
| non signé depuis longtemps | 0 | 2 64 – 1 ou 18 446 744 073 709 551 615 |
Comment vérifier la taille des données ?
Pour le moment, vous devez connaître l’opérateur sizeof( ). Cela fournit l'unité de stockage mémoire appelée « octets » – qui sera légèrement abordée dans la section suivante.
Exemple pour vous indiquer le nombre d'octets à saisir en utilisant l'opérateur sizeof(). Essayez ceci pour les vérifier vous-même. Si vous passez à un autre contrôleur, vous pouvez toujours procéder comme suit pour vérifier.
Brain.Screen.setFont(fontType::mono30); Brain.Screen.printAt(1, 20,"char a %d octets", sizeof(char)); Brain.Screen.printAt(1, 50,"short a %d octets", sizeof(short)); Brain.Screen.printAt(1, 80,"int a %d octets", sizeof(int)); Brain.Screen.printAt(1, 110, "long a %d octets", sizeof(long)); Brain.Screen.printAt(1, 140, "long long a %d octets", sizeof(long long)); Brain.Screen.printAt(1, 170, "float a %d octets", sizeof(float)); Brain.Screen.printAt(1, 200, "double a %d octets", sizeof(double));
Que signifie un octet ?
Un « octet » est une unité standard de stockage de données.
Un octet = 8 bits. Un bit est la plus petite unité de mémoire qui ne peut avoir que la valeur de 1 et de 0 (valeur binaire). Mais la plus petite unité de mémoire que vous pouvez acquérir à partir du système est de 1 octet ; vous ne pouvez donc pas demander 1,5 octet, etc.
Jetons un coup d'oeil à char. Il est suffisamment court pour s’afficher facilement.
Si tout est rempli de 1, vous obtenez 28-1. Cette valeur doit être la valeur maximale de « caractère non signé » qui doit être conservée.
Le système réserve le bit de poids fort afin de donner une valeur négative. Ainsi, la valeur maximale d'un « char » varie de -128 à 127. Cependant, la capacité est toujours la même que celle des « caractères non signés » malgré une différence dans la plage de données.
Dans l'ordinateur, il utilise une opération appelée le complément à deux. Cela fait partie des sujets sous Fonctionnement au niveau du bit, qui sortent du cadre de ce document. Plus d’informations sur ce sujet seront abordées dans un autre document.
Quelle est la différence entre char et int ?
Voici quelques utilisations courantes de « char » et « int » :
char var1 = '9'; entier var2 = 9 ;
On croit souvent à tort que « char » ne peut contenir que des symboles tels que « a », « b » ou « 9 ». C'est incorrect.
En fait, le type "char" est le même que le type "int", sauf que la capacité de char n'est que de 1 octet et celle de int est de 4 octets. Ainsi, la plage de taille des données est différente entre les deux. Vous pouvez le voir dans le tableau des plages de données ci-dessus.
Les segments de code suivants vous donneront une vue plus claire de char et int.
int iX = '0'; caractère cX1 = 49 ; caractère cX2 = 50 ; Brain.Screen.printAt(3, 20, "représentation int de '%c' = %d", iX, iX); Brain.Screen.printAt(3, 50, "représentation int de '%c' = %d", cX1, cX1); Brain.Screen.printAt(3, 80, "représentation int de '%c' = %d", cX2, cX2); Brain.Screen.printAt(3, 140, "Donc '%c' - '%c' = %d ", cX2, iX, cX2 - cX1);
Sortir:
représentation int de '0' = 48 représentation int de '1' = 49 représentation int de '2' = 50 Donc '2' – '0' = 1
Vous vous demandez peut-être : pourquoi « 0 » affiche 48 ?
Cela mènera aux sujets appelés conversion « Code ASCII ». La norme ASCII est l'une des grandes étapes de l'IEEE publiée en 1963. Cela sort du cadre de cet article. Nous vous encourageons à consulter la table des codes ASCII en ligne. Vous trouverez une multitude d'informations en ligne sur la table de codes ASCII.