Tipi di dati

 



Arduino – Tipi di dati

 

I tipi di dati in C si riferiscono a un ampio sistema utilizzato per dichiarare variabili o funzioni di tipi diversi. Il tipo di una variabile determina quanto spazio occupa nella memoria e come viene interpretato il modello di bit memorizzato.

La seguente tabella fornisce tutti i tipi di dati che verranno utilizzati durante la programmazione di Arduino.

Le più comuni tipologie sono:

  • void è la parola chiave, viene utilizzata solo nelle dichiarazioni di funzione. Indica che la funzione non restituirà alcuna informazione alla funzione da cui è stata chiamata.
    void loop ( ) {   // rest of the code}
  • byte occupa un byte di memoria e puo’ contenere un numero tra 0 e 255 non segnato.
    byte m = 25 ;//declaration of variable with type 
                 // byte and initialize it with 25
  • int è il tipo di dati principale per l’archiviazione dei numeri, memorizza un valore a 16 bit (2 byte). Ciò produce un intervallo da -32.768 a 32.767 (valore minimo di -2 ^ 15 e un valore massimo di (2 ^ 15) – 1). La dimensione int varia da una scheda all’altra. Ad Arduino Due, ad esempio, un int memorizza un valore a 32 bit (4 byte). Ciò produce un intervallo di -2.147.483.648 a 2.147.483.647 (valore minimo di -2 ^ 31 e un valore massimo di (2 ^ 31) – 1).
    int counter = 32 ;// declaration of variable with type 
                      // int and initialize it with 32
  • unsigned int (interi senza segno) sono gli stessi di int nel modo in cui memorizzano un valore di 2 byte. Invece di memorizzare numeri negativi, tuttavia, memorizzano solo valori positivi, ottenendo un intervallo utile compreso tra 0 e 65.535 (2 ^ 16) – 1). Arduino Due memorizza un valore a 4 byte (32 bit), compreso tra 0 e 4.294.967.295 (2 ^ 32 – 1).
    Unsigned int counter = 60 ; // declaration of variable with type
                                // unsigned int and initialize it with 60
  • long sono variabili di dimensione estese per la memorizzazione numerica e memorizzano 32 bit (4 byte), da 2.147.483.648 a 2.147.483.647.
    Long velocity = 102346 ;// declaration of variable with 
                            // type Long and initialize it with 102346
  • unsigned long sono variabili di dimensione estese per la memorizzazione numerica e memorizzano 32 bit (4 byte). A differenza dei long standard, gli unsigned long non memorizzano numeri negativi, il loro intervallo va da 0 a 4.294.967.295 (2 ^ 32 – 1).
    Unsigned Long velocity = 101006 ;// declaration of variable 
                                     // with type Unsigned Long and 
                                     // initialize it with 101006
  • short è un tipo di dati a 16 bit. Su tutti gli Arduino (basati su ATMega e ARM), short memorizza un valore a 16 bit (2 byte). Ciò produce un intervallo da -32.768 a 32.767 (valore minimo di -2 ^ 15 e un valore massimo di (2 ^ 15) – 1).
     short val = 13 ;// declaration of variable with type short and 
                     // initialize it with 13
  • float è un numero con un punto decimale. Sono spesso usati per approssimare i valori analogici e continui perché hanno una risoluzione maggiore degli interi. I float possono essere grandi come 3.4028235E + 38 e fino a 3.4028235E + 38. Sono memorizzati come 32 bit (4 byte) di informazioni.
    float num = 1.352;// declaration of variable with type 
                      // float and initialize it with 1.352
  • double in Arduino Uno e in altre schede basate su ATMEGA, double occupa quattro byte. Cioè double è esattamente la stessa del float, senza alcun guadagno di precisione. Su Arduino Due, i double hanno una precisione di 8 byte (64 bit).
    double num = 45.352 ;// declaration of variable with type 
                         // double and initialize it with 45.352
  • boolean rappresenta le variabili logiche, TRUE oppure FALSE. Ogni variabile booleana occupa un byte di memoria.
    boolean val = false ;  // declaration of variable with type 
                           // boolean and initialize it with false
    boolean state = true ; // declaration of variable with type
                           //boolean and initialize it with true
  • char occupa un byte di memoria. Se la si usa come un numero può contenere un valore che va da -128 a +127 se invece la si usa come testo può contenere un qualunque carattere ASCII. I caratteri letterali sono scritti in virgolette singole come questa: ‘A’ e per più caratteri, le stringhe usano virgolette doppie: “ABC”.
    Char chr_a = ‘a’ ;// declaration of variable with type 
                      // char and initialize it with character a
    Char chr_c = 97 ; //declaration of variable with type 
                      //char and initialize it with character 97

  • unsigned char è un tipo di dati unsigned che occupa un byte di memoria. Il tipo di dati char senza segno codifica sono i numeri da 0 a 255.
    Unsigned Char chr_y = 121 ; // declaration of variable with 
                                // type Unsigned char and initialize 
                                // it with character y
  • word in Arduino Uno e in altre schede basate su ATMEGA, una parola memorizza un numero senza segno a 16 bit. Su Arduino Due e Zero, memorizza un numero senza segno a 32 bit.
    word w = 1000 ;// declaration of variable with type 
                   // word and initialize it with 1000