Chapitre suivantIndex des CoursChapitre précedentChapitre 3

LES TYPES DE BASE

 

Objectifs

Elément de contenu :

·         Les types entiers

·         Les types flottants

·         Les types caractères

Les différents types de base du langage C se répartissent on trois grandes classes en fonction de

a nature de l’inFormation qu’ils permettent de représenter

•     caractères (mot clé char)

•     nombres entiers (mot clé int)

•     nombres flottants (mot clé float)

1- LES TYPES ENTIERS

Ils permettent de représenter une partie des nombres entiers relatifs. Quatre types entiers

différents peuvent être obtenus et, introduisant dans a déclaration des “attributs” agissant:

•     sur la taille de l’emplacement  mémoire utilisé pour représenter les valeurs, à savoir :long ou  short. On peut donc

 rencontrer les types : int ,short int ou long int (en fait, long int peut s’abréger en long et short int en short)

•     sur le mode de représentation binaire, à savoir signed (avec signe) ou unsigned(sans signe).

I.1 Représentation mémoire des types entiers

Le langage C dispose de 4 types entiers différents caractérisés par:

•     leur taille : 16 bits (pour le short int) au 32 bits (pour le long int)

•     la présence ou l’absence du signe : signed ou unsigned.

-  Dans e premier cas (signed), le bit de poids fort est utilisé pour représenter le signe et

la valeur absolue de nombre est codé sur les bits restants (15 ou 31) ; lorsque le nombre

est négatif, sa valeur absolue est codée suivant la méthode du “complément à 2”.

-  Dans le second cas (unsigned), on ne représente que des nombres positifs (ou nuls), en

utilisant tous les bits disponibles.

I.2 Limitations relatives aux types entiers

Ces limitations  portent essentiellement  sur les valeurs qu’ils est ainsi possible de. représenter. Elles découlent directement de leur taille et dc l’attribut de signe.

TYPE

TAILLE(octets)

DOMAINE

unsigned int

2

0à65 535

int

2

-32 768 à 32 767

Unsigned long

4

0à4 4 294 967 295

long

4

-2 147 483 648 à 2 147 483 647

I.3 Ecritures des constantes entières

Le langage C autorisé :

·         Décimale,

·         Octale,

·         hexadécimale

La forme  décimale correspond à notre notation usuelle d’un nombre entier avec ou sans signe.

En voici quelques exemples :

                                                +526          10        -2540

La forme  octale se note on faisant précéder le nombre écrit on base 8 du chiffre 0.

La forme hexadécimale de note en faisant précéder le nombre écrit en hexadécimale des deux caractères Ox(ou OX)  .

Voici quelques exemples de notation équivalentes :

                                                19                    023                   Ox 13
                                                 — 1            0177777                         Ox FFFF

II- LES TYPES FLOTTANTS

Ils permettent de représente de manière  approché une partie des nombres réels

Dans le langage C on retrouve les deux types flottants float et double float (qui est abrégés en double).

II.1 Représentation mémoire des types flottants

Les deux types  flottants sont caractérisés par leur taille :

•     le  type float qui utilise 32 bits,

•     le type double qui utilise 64 bits.

Dans les deux cas la zone utilisé pour le codage se décomposé en trois parties :

•     un bit réservé en signe de nombre 

• un emplacement pour un exposant ,a savoir :

8     bits pour le type float

11 bits pour le type double

               23 bits pour le type float

              52 bits pour le type double

II.2 Limitations relatives aux types flottants

Elle portent à la fois :

•     sur le ’’domaine ’’des réels qu’il est ainsi possible de représenter

•     snt représenté

TAILLE(octets)

DOMAINE

PRECISION (chiffres significatifs)

float

4

6

double

8

1.7E-308 à 1.7 E+308

15

Il est à ,noter que le domaine mentionné  dans ce tableau correspond aux valeurs positives et qu’il  doit être

complété de façon symétrique pour valeurs  négatives. Les précisions mentionnées  sont approximatives.

11.3     Ecriture des constantes flottantes

Comme dans la PLUS part des langages, les constantes réelles peuvent s’écrire indifféremment

suivant l‘une des deux notations

•     décimales,

•     exponentieLle.

La notation décimale doit comporter obligatoirement un point (correspondant à noire virgule) -

La partie entière  ou la partie décimal peuvent être omises (mais pas les deux à la fois) En

Voici quelques exemples corrects

                               12.43               -0.38   -.38      4.              .27

Par contre la constante 47 serait considérée comme entière et non comme flottante.

La notation exponentielle utilise  la lettre e (ou E ) pour introduire un exposant entier  (puissant de 10), avec ou sans signe.
 La mantisse peut être n’importe quel nombre décimal ou  entier (le point peut être absent dès qu’ on utilise un exposant). Voici quelques exemples corrects  (les exemples d’une même ligne sont équivalents) :

                                     4.25E4                        4.25e+4                                42.5E3
                                     5.27E-32                     52.7e-33                             527E-34
                                    
48a13                          48.e13                                  48.0E13

III- LES TYPES CARACTERES

III.1 Représentation mémoire des types caractères

Le langage C dispose de deux types caractères correspondant à l’un des attributs signed  ou unsigned .

Par défaut signed est équivalent à signed char .

Les variables de type char occupent en mémoire  un octet (8 bits)qui  peut donc recevoir les 256   codes du code ASCII étendu. Le qualificatif signed  ou unsigned n’agit  pas sur la représentation interne d’un caractère quelconque même  si son  code est supérieur  à 127 ; par contre, ce qualificatif  pourra avoir une incidence dans d’éventuelles conversions ultérieures auxquelles la variable, correspondante pourra être soumise.

111.2 Ecriture des constantes caractères

Les constantes caractères correspondant à des caractères imprimables se notent de façon classique, en écrivant entre apostrophes (ou quotes) caractère voulu, comme dans ces exemples :

                                                             ‘a’                          ‘y’                ‘+’         ‘s’

Certain caractères non imprimables possèdent une représentation conventionnelle utilisant le caractère “\“ nommé antislash. Dans cette catégorie on trouve également quelques caractères.

Qui bien disposant d’un certain graphisme, jouent un rôle particulier de délimiteur qui leur empêche d’être noté de manière  classique entre  deux apostrophes.

De plus, il est possible d’utiliser directement le code ASCII du caractère en exprimant

toujours à la suite du caractère antislash

•     soit sous forme octale

•     soit sous forme hexadécimale précédée de x

voici quelques exemples de notation équivalentes :

‘A’   ‘x41’  ‘101’ 

‘/n’  ‘/xod’    ‘/15’  ‘/015’

Chapitre précedentIndex des CoursChapitre suivant

Révisé le :23-Sep-2007| ©2007 www.technologuepro.com