Approche langage C
TD : Approche langage C. Rechercher de 53 000+ Dissertation Gratuites et MémoiresPar aussiej24 • 29 Mars 2016 • TD • 272 Mots (2 Pages) • 1 055 Vues
Exercice 1 : epsilon machine
Pour calculer une estimation de l’epsilon machine, c’est à dire l’espacement moyen de deux nombres
réels, aux environs de 1, on utilise l’algorithme traditionnel suivant où eps contient la quantité
recherchée:
a ← 4/3 ; b ← a- 1; c ← b+b+b; eps ← 1‐c
Avec des calculs exacts, on devrait obtenir eps = 0. L’écart que l’on constate à l’exécution du programme
par rapport à cette valeur est appelé l’epsilon machine.
Ecrire le programme correspondant en considérant des variables réelles double précision (type double)
pour a, b, c et eps. En cas de résultat aberrant, on pourra afficher le contenu de a.
N.B. : pour afficher la valeur du réel eps, il est ici préférable d’utiliser le format “%e” plutôt que le format
“%f”. De plus, c’est l’ordre de grandeur de eps qui nous intéresse, pas sa valeur exacte.
Exercice 2 : codage binaire
On sait que le bit de gauche d’un entier signé est le bit de signe. On sait par ailleurs qu’un décalage de 1 bit
vers la gauche correspond à une multiplication par 2 (en base 10 un décalage à gauche correspond à une
multiplication par 10).
1. Partant d’une variable entière k = 1, comptez le nombre de décalages possibles avant d’obtenir un
nombre négatif.
2. Comparez ce nombre à la valeur du nombre de bits déterminé par l’instruction
n=8*sizeof(k) ;
Exercice 3 : Von Neumann
Le premier algorithme de génération de nombres aléatoires est dû à Von Neumann. Partant d’un nombre
de quatre chiffres, par exemple 7777, il l’élevait au carré (60481729) puis en extrayait les quatre chiffres
centraux (4817) et recommençait.
1. Programmez l’affichage de dix itérations de cette méthode à partir de 7777.
2. Recommencez à partir de 6100 et commentez les résultats.
...