Professional Documents
Culture Documents
1.1
Numrotation en base
i di
(1.1)
i=0
8
p N tel que
p n < p+1
di i = 0
Ce qui est une contradiction car si I est le grand entier tel que dI = 0 alors
I >
I1
i=0
|di | i
Nous utilisons dordinaire la base 10. Cet exercice montre que lon pourrait
utiliser toute autre base. Sur ordinateur, les calculs se font en base 2 (numrotation
binaire, avec les chiffres 0 et 1), en base 8 (numrotation octale, avec les chiffres 0
7) ou en base 16 (avec les chiffres 0 9 et les lettres A F ).
Exercice 2. Soit b = (142)8 en numrotation octale, donner la reprsentation de b
en base 10 et en base 16.
Correction
(142)8 = 2 1 + 4 8 + 82
= 64 + 31 + 2
= 98 en base 10
et,
98 = 6 16 + 2
Do
Par extension, on peut reprsenter tout nombre rel x par la somme suivante :
x=
i di
(1.2)
i=
Cependant avec cette notation un nombre entier peut avoir deux reprsentations
distinctes en base , comme le montre lexercice suivant.
Exercice 3. Soit b = 1. Montrer que dans toute base , on a :
1 = (0.bbbbb...) =
i=
m
n
en base .
10
Correction
1. On a que
1
= 0, 142857142857...
7
2. Puisque m = d1 n + r1 , on a que d1 < . Sinon on aurait d1 n
n m. Par ailleurs 0 r1 < n (reste de la division euclidienne). De
mme, on a que 0 dj et 0 rj < n pour tout j N.
i
m
ri i
dj j +
=
.
n
n
j=1
m = d1 n + r1 .
Donc,
m
r1
= d1 1 +
1 .
n
n
Supposons le rsultat vrai jusqu lordre i. Montrons quil est vrai lordre
i + 1. On sait que
rj = nd(j+1) + r(j+1) ,
donc,
r(j+1) 1
rj
= d(j+1) 1 +
.
n
n
Or daprs lhypothse de rcurrence, on a :
i
ri i
m
dj j +
=
.
n
n
j=1
Donc,
i
r(i+1) 1 i
m
dj j + (d(i+1) 1 +
=
)
n
n
j=1
i+1
j=1
dj j +
r(i+1) (i+1)
.
ri i
| i 0 quand i +.
n
11
Finalement,
m +
dj j .
=
n
j=1
4. On sait que pour tout j N , rj {0, ..., n 1}. Donc les rj ne peuvent
prendre quun nombre ni de valeurs distinctes (au plus n). Donc il existe un
couple (k, l) tel que rk = rl . Daprs lunicit de la division euclidienne,
cela conduit la priodicit du dveloppement partir dun certain rang.
On peut noter que dans le dveloppement priodique, la squence sera dune
longeur dau plus n 1.
Exercice 5.
1. En base 10, quel nombre rationnel est gal 0,123123123...(le dveloppement est priodique de priode 123)
2. Soit N, > 1. En gnralisant le raisonnement de la question prcdente, montrer que tout nombre dont lcriture est priodique partir dun
certain rang, est gal un nombre rationnel.
Correction
1.
0, 123123123... = 0, 123
(103 )j
j=0
1
)
1 103
103
= 0, 123 3
10 1
123
=
999
41
=
333
= 0, 123 (
12
i=1 di
i .
Alors,
x=v
( q )j
j=0
1
1 q
q v
= q
1
=v
1.2
Sur machine on reprsente lensemble des nombres rels par les ottants (oat)
ou nombres virgule ottante. Lensemble de ces nombres est dcrit par une base
, un nombre r de chiffres signicatifs, et deux entiers e et e+ . Tout nombre
virgule ottante est de la forme :
s(m) j
o j est compris entre e et e+ , m est la mantisse code sur r chiffres signicatifs
et s dsigne le signe du nombre. On adjoint ce systme le nombre 0. Il convient de
remarquer quavec cette reprsentation un nombre peut tre crit de plusieurs manires. Ainsi pour = 10 et r = 5, on a , 34562 101 = 3, 4562 = 34562 104 .
Pour avoir lunicit de la notation, on xe par convention la place de la virgule dans
la mantisse. Gnralement la virgule peut se situer juste aprs le premier chiffre non
nul de la mantisse, juste avant, ou ne pas avoir de virgule. On dnit ainsi un ensemble ni de nombres, not F(, r, e , e+ ) qui vont reprsenter lensemble des
rels. La norme IEEE754 (1985) a dnit 4 standards de nombres ottants (simple
prcision, simple prcision tendue devenu obsolte, double prcision, double prcision tendue). La reprsentation simple prcision est code sur 32 bits tandis que
la double prcision est code sur 64 bits. Pour donner un exemple, le type oat du
langage C est de type simple prcision tandis que le type double est de type double
prcision.
Le format simple prcision
Dans le format simple prcision, on a = 2, e = 126, e+ = 127, lexposant
est cod sur 8 bits, la mantisse m sur 23 bits et le signe sur un bit. Le bit de signe
est 1 si le chiffre est ngatif, 0 si le chiffre est positif. La virgule dans la mantisse
est place juste aprs le premier chiffre non nul. Comme on est en base 2, il ny a
pas ncessit de coder ce chiffre qui est ncessairement gal 1. Ceci est lcriture
dite normalise. Ainsi le plus petit nombre normalis est gal :
13
taille
32
64
r
23
52
e
-126
-1022
e+
127
1023
14
Le crash dAriane 5
Le quatre juin 1996, cest une erreur de programmation qui a caus le crash de la
fuse europenne Ariane 5. Plus prcisment, un rel cod sur 64 bits donnant la
vitesse horizontale de la fuse tait converti en un entier sign sur 16 bits. Or lentier obtenu tait plus grand que 32767 = 215 1, le plus grand entier reprsentable
sur 16 bits. La convertion chouait donc. Tous les tests logiciels avaient pourtant
russi, mais ils avaient t effectus avec les donnes dAriane 4 pour laquelle la
vitesse horizontale restait infrieure au maximum de 32767.
Lanti-missile manque sa cible
Pendant la guerre du Golfe, un anti-missile Patriot tir de Dahran (Arabie Saoudite) a manqu linterception dun missile irakien Scud. Ce dernier a tu 28 soldats
et bless quelque cent autres personnes. Lerreur a dcoul dune imprcision dans
le calcul de la date de lanti-missile Patriot. Celui-ci dispose en effet dun processeur interne, qui calcule lheure en multiples de diximes de secondes. Le nombre
de diximes de secondes depuis le dmarrage du processeur est stock dans un
1
registre entier, puis multipli par une approximation sur 24 bits de 10
pour obte1
nir le temps en secondes. Or lcriture de 10 en base 2 est innie puisque lon a
1
)10 = 214 + 215 + 218 + 219 + ..... Lapproximation de 0.1 sur 24 bits stocke valait
( 10
1
1
+ 215 + 218 + 219 + ... + 221
. Cela donne une erreur denviron 9.5 108 . Le
24
processeur du missile ayant t dmarr une centaine dheures auparavant, lerreur
totale tait donc de 0,34 secondes (100 36000 0.95 10 7). Sachant quun
missile scud parcourt 1676 mtres par seconde, le missile Scud parcourt plus de
500 mtres en 0,34 secondes.
j = 1
1/2
9/16
10/16
11/16
12/16
13/16
14/16
15/16
j=0
1
9/8
10/8
11/8
12/8
13/8
14/8
15/8
j=1
2
9/4
10/4
11/4
12/4
13/4
14/4
15/4
15
j=2
4
9/2
10/2
11/2
12/2
13/2
14/2
15/2
j = 1
0
1/16
2/16
3/16
4/16
5/16
6/16
7/16
f f = A(f f )
f f = A(f f )
f f = A(f /f )
Exercice 7.
16
2. calculer :
1
1
1
1
et 1 .
16 8
8 16
2.
donc A( 13 ) =
15
1
18
< < ,
48
3
48
5
16
1
1
7
1
1
15
= et 1
= .
16 8
8
8 16
16
On en dduit que laddition nest pas commutative.
1
17
Universit du Havre
Feuille de TP 1
Exercice 1. Dterminer le systme F(, r, e , e+ ) utilis par Scilab pour la reprsentation des nombres ottants.
Exercice 2. Soit lquation du second degr :
p(x) = x2 160x + 1 = 0
(1.3)
1
.
x2
Calculer p(
x1 ). Que constatez vous ?
4. Pouvez-vous proposer une explication de ce phnomne ?
Exercice 3. Un calcul approch de
1. Montrer que :
lim n sin( ) = .
n
n+
2. On pose
).
2k
Montrer que pour tout nombre rel compris entre 0 et
xk = 2k sin(
sin( ) =
2
et en dduire que
xk+1 = 2
1
1 1 sin2
2
2 1
1 (xk /2k )2 .
on a