Creazione di variabili per numeri interi in 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.

Tipi che contengono numeri interi: char, short, int, long, long long

Diamo un'occhiata ad alcuni esempi:

carattere cvar = 50;
caratteri cvar = 50;
svar corto = 50;
int ivar = 50;
lvar1 lungo = 50;
lvar2 lunghi = 50;

Operatori aritmetici di base:

Molti hanno familiarità con gli operatori aritmetici di base e l'ordine di precedenza: + , -, *, /

Ecco alcuni esempi di come utilizzare l'operatore unario: ++ e --:

Espressione Equivalente a Equivalente anche a
cvar += 5; cvar = cvar + 5;  
++cvar; cvar++; cvar = cvar + 1;
--cvar; cvar--; cvar = cvar - 1;

Attenzione alla variabile++ vs. ++variabile!

++variabile

int x = 10, y = 20; 
X = ++y;

Nota: dopo questa operazione: X = 21 e anche Y = 21.

variabile++

int x = 10, y = 20; 
X = y++;

Nota: dopo questa operazione: X = 20 e Y = 21.


Confronta il tipo di dati intero

Esiste un gruppo o tipo di dati che consente sia il valore positivo che quello negativo: "firmato". Tuttavia non è necessario specificarlo poiché è implicito. Vedi sotto:

Tipo di dati Valore minimo Valore più alto
carbone -2 7 o -128 2 7 - 1 o 127
corto -2 15 o -32.768 2 15 - 1 ovvero 32.767
int -2 31 o -2.147.483.648 2 31 – 1 o 2.147.483.647
lungo -2 31 o -2.147.483.648 2 31 – 1 o 2.147.483.647
lungo lungo -2 63 o -9.223.372.036.854.775.808 2 63 – 1 ovvero 9.223.372.036.854.775.807

Esiste un gruppo o un tipo di dati che consente solo valori positivi: "senza segno".

Tipo di dati Valore minimo Valore più alto
carattere senza segno 0 2 8 - 1 o 255
corto senza segno 0 2 16 - 1 ovvero 65.535
intero senza segno 0 2 32 – 1 ovvero 4.294.967.295
unsigned long 0 2 32 – 1 ovvero 4.294.967.295
senza firma lungo lungo 0 2 64 – 1 ovvero 18.446.744.073.709.551.615

Come si verifica la dimensione dei dati?

Per il momento dovresti conoscere l'operatore sizeof( ). Ciò fornisce l'unità di archiviazione della memoria chiamata "byte", che sarà leggermente trattata nella sezione successiva.

Esempio per dirti il ​​numero di byte che dovrebbe essere digitato utilizzando l'operatore sizeof(). Provalo per verificarli tu stesso. Se passi a un altro controller, puoi sempre effettuare le seguenti operazioni di verifica.

Brain.Screen.setFont(fontType::mono30);    
Brain.Screen.printAt(1, 20,"char ha %d byte", sizeof(char));
Brain.Screen.printAt(1, 50,"short ha %d byte", sizeof(short)); 
Brain.Screen.printAt(1, 80,"int ha %d byte", sizeof(int));
Brain.Screen.printAt(1, 110, "long ha %d byte", sizeof(long));
Brain.Screen.printAt(1, 140, "long long ha %d byte", sizeof(long long));
Brain.Screen.printAt(1, 170, "float ha %d byte", sizeof(float));
Brain.Screen.printAt(1, 200, "double ha %d byte", sizeof(double));

Testo visualizzato sullo schermo del V5 Brain:

char ha 1 byte
short ha 2 byte
int ha 4 byte
long ha 4 byte
long long ha 8 byte
float ha 4 byte
double ha 8 byte

Cosa significa un byte?

Un "Byte" è un'unità standard di archiviazione dei dati.

Un byte = 8 bit. Un bit è la più piccola unità di memoria che può avere solo il valore di 1 e 0 (valore binario). Ma l'unità più piccola di memoria che puoi acquisire dal sistema è 1 byte; quindi non puoi chiedere 1,5 byte, ecc.

Diamo un'occhiata a char. È abbastanza corto da poter essere visualizzato facilmente.

Diagramma che mostra un carattere senza segno a 8 bit etichettati da 7 a 0 e valori corrispondenti da 128 a 1, con esempi di calcolo dei valori 136 e 255.

Se è tutto riempito con 1, ottieni 28-1. Questo valore dovrebbe essere il valore massimo che "unsigned char" dovrebbe contenere.

Diagramma che mostra il tipo di dati char con 7 bit di valore e un bit di segno riservato, inclusi esempi di calcolo dei valori −120 e 127.

Il sistema riserva il bit di ordine più alto per fornire un valore negativo. Pertanto, il valore massimo per un “char” varia da -128 a 127. Tuttavia, la capacità è sempre la stessa di “unsigned char”, nonostante una differenza nell’intervallo dei dati.

Nel computer, utilizza un'operazione chiamata Complemento a due. Questo fa parte degli argomenti in Operazione bit a bit, che non rientra nell'ambito di questo documento. Maggiori informazioni su questo argomento saranno discusse in un altro documento.


Qual è la differenza tra char e int?

Ecco alcuni usi comuni di "char" e "int":

char var1 = '9'; 
int var2 = 9;

È un malinteso comune che "char" possa contenere solo simboli come "a", "b" o "9". Non è corretto.

In effetti, il tipo "char" è uguale al tipo "int", tranne per il fatto che la capacità di char è solo di 1 byte e la capacità di int è di 4 byte. Pertanto, l'intervallo di dimensioni dei dati è diverso tra i due. Puoi vederlo nella tabella dell'intervallo di dati sopra.

I seguenti segmenti di codice ti daranno una visione più chiara di char e int.

int iX = '0';
  char cX1 = 49;
  char cX2 = 50; 

  Brain.Screen.printAt(3, 20, "rappresentazione intera di '%c' =  %d",iX, iX);
  Brain.Screen.printAt(3, 50, "rappresentazione intera di '%c' =  %d",cX1, cX1);
  Brain.Screen.printAt(3, 80, "rappresentazione intera di '%c' =  %d",cX2, cX2);
  Brain.Screen.printAt(3, 140, "Quindi '%c' - '%c' =  %d ", cX2, iX, cX2 - cX1);

Produzione:

Rappresentazione intera di '0' = 48
Rappresentazione intera di '1' = 49
Rappresentazione intera di '2' = 50

Quindi '2' – '0' = 1

Potresti chiederti: perché "0" indica 48?

Ciò porterà agli argomenti chiamati conversione del “codice ASCII”. Lo standard ASCII è una grande pietra miliare dell'IEEE pubblicata nel 1963. Ciò esula dallo scopo di questo articolo. Ti invitiamo a cercare la tabella dei codici ASCII online. Troverai moltissime informazioni online sulla tabella dei codici ASCII.

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

Last Updated: