Création de variables pour les entiers dans VEXcode Pro V5

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));

Schéma illustrant les fonctionnalités et capacités de programmation du système robotique V5, mettant en évidence les composants clés et leurs fonctions dans une présentation claire et organisée.


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.

Schéma illustrant les fonctionnalités de programmation du système robotique V5, mettant en évidence les composants clés et leurs fonctions.

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.

Schéma illustrant les capacités de programmation du robot V5, présentant divers capteurs, moteurs et connexions pour un codage et un contrôle efficaces.

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.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: