MagPI 4 Page 25

De Le French MagPi
Aller à : Navigation, rechercher

La valeur de l'exposant est stockée de la même manière que pour le int. Cependant, la signification des bits de la mantisse est différente : de la gauche vers la droite, les bits correspondent à 2^0, 2^-1, 2^-2, 2^-3, etc... Si un nombre à virgule flottante devient trop grand, il deviendra un NaN (not a number) ou un infini. Si les bits de précision dans la mantisse sont tous utilisés, les valeurs supplémentaires seront perdues. La perte d'information de précision est appelée erreur de virgule flottante. Par exemple,


#include <stdio.h>
int main()
{
  float f = 3. 14159; /* Assigne la valeur approximative de PI. */
  f+=0.0000001; /* Lui ajoute un tout petit nombre. */
  printf("%f\n", f); /* Affiche la valeur stockée dans f. */
  return 0; /* Retourne succès au système d'exploitation */
}


l'ajout de 0,0000001 au flottant f est perdu.


Bien, revenons à des mathématiques plus simples. Les divisions de variables float et int se comportent différemment. Une division entière sera toujours arrondie à l'int le plus proche par le bas, alors qu'un float sera arrondi selon la précision de la mantisse.


#include <stdio.h>
int main()
{
  int i = 3; /* Déclare un entier et lui affecte la valeur trois. */
  float f = 3. ; /* Déclare un flottant et lui affecte la valeur trois. */
  i /= 2; /* Divise i par deux et affecte le résultat à i . */
  f /= 2. ; /* Divise f par deux et affecte le résultat à f. */
  printf("int (3/2) = %d, float (3. /2. ) = %f\n" , i , f); /* Affiche les résultats. */
  return 0; /* Retourne succès au système d'exploitation. */
}


Le résultat du programme est

int (3/2) = 1, float (3. /2. ) = 1.500000


Les caractères sont stockés de manière similaire aux int. Un caractère est un nombre 8 bits signé. Il peut être utilisé pour afficher le caractère ASCII correspondant ou la position d'un caractère de la table ASCII.


#include <stdio.h>
int main()
{
  char c = 'a' ; /* Déclare un caractère c et lui affecte 'a' */
  printf("Le caractère \'%c\' a la valeur %d\n" , c, c); /* Affiche la valeur. */
  return 0; /* Retourne succès au système d'exploitation. */
}


Une chaîne est représentée en mémoire par des caractères les uns à la suite des autres. Une telle série de valeurs séquentielles et de même type est appelée un tableau.


Tableaux


Un tableau de dix entiers peut être déclaré par,

int array[10] ;


Chaque élément du tableau est accessible grâce à l'index correspondant. Tout comme dans d'autres langages, ces indices commencent à zéro et vont jusqu'à N-1 où N est la taille du tableau. Quand un tableau est déclaré, un bloc séquentiel de mémoire est alloué. Les valeurs dans chaque case du tableau peuvent être vides ou ne pas l'être. Par conséquent, il est important d'initialiser chaque élément du tableau avec une valeur. Il est possible de déclarer un tableau et de lui affecter des valeurs en même temps,

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Boîte à outils