Arduino - Types de données

Les types de données en C font référence à un système étendu utilisé pour déclarer des variables ou des fonctions de différents types. Le type d'une variable détermine l'espace qu'elle occupe dans le stockage et la manière dont le modèle de bits stocké est interprété.

Le tableau suivant fournit tous les types de données que vous utiliserez lors de la programmation Arduino.

néant Booléen carboniser Caractère non signé octet int Int non signé mot
longue Non signé longtemps court flotte double tableau Tableau de caractères de chaîne Objet chaîne

néant

Le mot clé void est utilisé uniquement dans les déclarations de fonction. Il indique que la fonction ne doit renvoyer aucune information à la fonction à partir de laquelle elle a été appelée.

Exemple

Void Loop ( ) {
   // rest of the code
}

Booléen

Un booléen contient l'une des deux valeurs, true ou false. Chaque variable booléenne occupe un octet de mémoire.

Exemple

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

Carboniser

Un type de données qui occupe un octet de mémoire qui stocke une valeur de caractère. Les caractères littéraux sont écrits entre guillemets simples comme ceci: 'A' et pour plusieurs caractères, les chaînes utilisent des guillemets doubles: "ABC".

Cependant, les caractères sont stockés sous forme de nombres. Vous pouvez voir l'encodage spécifique dans le graphique ASCII . Cela signifie qu'il est possible d'effectuer des opérations arithmétiques sur des caractères, dans lesquelles la valeur ASCII du caractère est utilisée. Par exemple, 'A' + 1 a la valeur 66, puisque la valeur ASCII de la lettre majuscule A est 65.

Exemple

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

caractère non signé

Unsigned charest un type de données non signé qui occupe un octet de mémoire. Le type de données char non signé encode les nombres de 0 à 255.

Exemple

Unsigned Char chr_y = 121 ; // declaration of variable with type Unsigned char and initialize it with character y

octet

Un octet stocke un nombre non signé de 8 bits, de 0 à 255.

Exemple

byte m = 25 ;//declaration of variable with type byte and initialize it with 25

int

Les entiers sont le type de données principal pour le stockage des nombres. int stocke une valeur de 16 bits (2 octets). Cela donne une plage de -32 768 à 32 767 (valeur minimale de -2 ^ 15 et valeur maximale de (2 ^ 15) - 1).

le intla taille varie d'une planche à l'autre. Sur l'Arduino Due, par exemple, unintstocke une valeur de 32 bits (4 octets). Cela donne une plage de -2 147 483 648 à 2 147 483 647 (valeur minimale de -2 ^ 31 et valeur maximale de (2 ^ 31) - 1).

Exemple

int counter = 32 ;// declaration of variable with type int and initialize it with 32

Int non signé

Les entiers non signés (entiers non signés) sont les mêmes que int dans la manière dont ils stockent une valeur de 2 octets. Au lieu de stocker des nombres négatifs, cependant, ils ne stockent que des valeurs positives, ce qui donne une plage utile de 0 à 65 535 (2 ^ 16) - 1). Le Due stocke une valeur de 4 octets (32 bits), allant de 0 à 4 294 967 295 (2 ^ 32 - 1).

Exemple

Unsigned int counter = 60 ; // declaration of variable with 
   type unsigned int and initialize it with 60

Mot

Sur les cartes Uno et autres cartes basées sur ATMEGA, un mot stocke un nombre non signé de 16 bits. Sur l'échéance et le zéro, il stocke un nombre non signé de 32 bits.

Exemple

word w = 1000 ;//declaration of variable with type word and initialize it with 1000

Longue

Les variables longues sont des variables de taille étendue pour le stockage des nombres et stockent 32 bits (4 octets), de -2 147 483 648 à 2 147 483 647.

Exemple

Long velocity = 102346 ;//declaration of variable with type Long and initialize it with 102346

non signé longtemps

Les variables longues non signées sont des variables de taille étendue pour le stockage des nombres et stockent 32 bits (4 octets). Contrairement aux longs standard, les longs non signés ne stockent pas de nombres négatifs, ce qui fait de leur plage de 0 à 4 294 967 295 (2 ^ 32 - 1).

Exemple

Unsigned Long velocity = 101006 ;// declaration of variable with 
   type Unsigned Long and initialize it with 101006

court

Un court est un type de données 16 bits. Sur tous les Arduinos (basés sur ATMega et ARM), un short stocke une valeur de 16 bits (2 octets). Cela donne une plage de -32 768 à 32 767 (valeur minimale de -2 ^ 15 et valeur maximale de (2 ^ 15) - 1).

Exemple

short val = 13 ;//declaration of variable with type short and initialize it with 13

flotte

Le type de données pour un nombre à virgule flottante est un nombre qui a une virgule décimale. Les nombres à virgule flottante sont souvent utilisés pour approximer les valeurs analogiques et continues, car ils ont une résolution supérieure aux entiers.

Les nombres à virgule flottante peuvent être aussi grands que 3.4028235E + 38 et aussi bas que -3.4028235E + 38. Ils sont stockés sous forme de 32 bits (4 octets) d'informations.

Exemple

float num = 1.352;//declaration of variable with type float and initialize it with 1.352

double

Sur les cartes Uno et autres cartes ATMEGA, le nombre à virgule flottante double précision occupe quatre octets. Autrement dit, la double implémentation est exactement la même que le float, sans gain de précision. Sur l'Arduino Due, les doubles ont une précision de 8 octets (64 bits).

Exemple

double num = 45.352 ;// declaration of variable with type double and initialize it with 45.352