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 | Anche equivalente 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 più piccolo | Valore più grande |
|---|---|---|
| car | -2 7 o -128 | 2 7 - 1 o 127 |
| corto | -2 15 o -32.768 | 2 15 - 1 o 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 o 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 più piccolo | Valore più grande |
|---|---|---|
| carattere non firmato | 0 | 2 8 - 1 o 255 |
| breve non firmato | 0 | 2 16 - 1 o 65.535 |
| intero senza segno | 0 | 2 32 – 1 o 4.294.967.295 |
| non firmato lungo | 0 | 2 32 – 1 o 4.294.967.295 |
| senza segno molto lungo | 0 | 2 64 – 1 o 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(tipo di carattere::mono30); Brain.Screen.printAt(1, 20,"carattere ha %d byte", sizeof(carattere)); Brain.Screen.printAt(1, 50,"corto ha %d byte", sizeof(corto)); Brain.Screen.printAt(1, 80,"int ha %d byte", sizeof(int)); Brain.Screen.printAt(1, 110, "long has %d byte", sizeof(long)); Brain.Screen.printAt(1, 140, "lungo lungo ha %d byte", sizeof(lungo lungo)); Brain.Screen.printAt(1, 170, "float ha %d byte", sizeof(float)); Brain.Screen.printAt(1, 200, "il doppio ha %d byte", sizeof(doppio));
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.
Se è tutto riempito con 1, ottieni 28-1. Questo valore dovrebbe essere il valore massimo che "unsigned char" dovrebbe contenere.
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":
carattere var1 = '9'; intero 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'; caratteri cX1 = 49; carattere cX2 = 50; Brain.Screen.printAt(3, 20, "rappresentazione int di '%c' = %d",iX, iX); Brain.Screen.printAt(3, 50, "rappresentazione int di '%c' = %d",cX1, cX1); Brain.Screen.printAt(3, 80, "rappresentazione int di '%c' = %d",cX2, cX2); Brain.Screen.printAt(3, 140, "Quindi '%c' - '%c' = %d ", cX2, iX, cX2 - cX1);
Produzione:
rappresentazione int di '0' = 48 rappresentazione int di '1' = 49 rappresentazione int 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.