1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
|
#+title: Architecture 1
#+AUTHOR: Crystal
#+OPTIONS: ^:{}
#+OPTIONS: num:nil
#+EXPORT_FILE_NAME: ../../../uni_notes/architecture.html
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../src/css/colors.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../src/css/style.css"/>
#+OPTIONS: html-style:nil
#+OPTIONS: toc:nil
* Premier cours : Les systémes de numération /Sep 27/ :
Un système de numération est une méthode pour représenter des nombres à l'aide de symboles et de règles. Chaque système, comme le décimal (base 10) ou le binaire (base 2), utilise une base définie pour représenter des valeurs numériques. Il est caractérisé par 3 entitiés mathématiques importantes:
1. Une base (genre 10, ou 2)
2. Un ensemble de chiffres
3. Des régles de représentations des nombres
*** *Examples :*
/B10 est un systéme de numération caractérisé par:/
- Base = 10
- Un ensemble de chiffres : (0,1,2,3,4,5,6,7,8,9)
/B16 est un autre systéme de numération caractérisé par:/
- Base = 16
- Un ensemble de chiffres : (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
*Puisse-qu'on peut pas utiliser des nombres a deux chiffres, on utilise des lettres aprés 9, en leur donnant des valeurs tel que :*
A : 10 ; B : 11 ; C : 12 ; D : 13 ; E : 14 ; F : 15
** Comment passer d'un systéme a base 10 a un autre
On symbolise un chiffre dans la base x par : (Nombre)x
*** Pour les chiffres entiers :
*On fait une division successive, on prends le nombre 3257 comme exemple, on veut le faire passer d'une base décimale á une base 16:*
(3257)10 ----> (?)16
On dévise 3257 par 16, et les restants de la division serra la valeur en base16:
3257/16 = 203 + *9* / 16
203/16 = 12 + *B* / 16 /REMARQUE, 11 N'APPARTIENS PAS A L'ENSEMBLE DES CHIFFRES EN BASE16, CE QUI VEUT DIRE QU'ON LE REMPLACE PAR SON EQUIVALENT, DANS CE CAS LA: *B*/
12/16 = 0 + *C* / 16 /Pareil ici, 12 n'existe pas, donc c'est C. Autre note : La division s'arréte quand le résultat de la division est nul/
**** *Conclusion:*
(3257)10 ----> (CB9)16
*** Pour les chiffres non entiers :
*On fait la division successive pour la partie entiére, et une multiplication successive pour la partie rationelle:*
(3257,32)10 ----> (?)16
On a déja la partie entiére donc on s'occupe de la partie aprés la virgule:
0,32 x 16 = *5*,12
0,12 x 16 = *1*,92
0,92 x 16 = *E*,72 /On a pas de 15 donc c'est un E/
0,72 x 16 = *B*,52
0,52 x 16 = *8*,32
0,32 x 16 = *5*,12
...
/On s'arréte quand on trouve un chiffre entier, et si on trouve pas, on s'arréte quand on remarque une répetition, dans ce cas la, la séquance 51EB8 vas se répéter indéfiniment, donc on se contente d'écrire la partie qui se répéte avec une barre en haut/
(3257,32)10 ----> (CB9, _51EB8_)16
* 2nd cours : Les systèmes de numération (Suite) /Oct 3/ :
** Comment passer d'une base N a la base 10 :
Prenons comme exemple le nombre (11210,0011)3 , chaque chiffre dans ce nombre a un rang qui commence par 0 au premier chiffre (a gauche de la virgule) et qui augmente d'un plus qu'on avance a gauche, et diminue si on part a droite. Dans ce cas la :
(11210,0011)3 ; le 0 est de rang 0, le 1 est de rang 1, le 2 est de rang 2, le 1 est de rang 3, le 1 est de rang 4. Et si on part du coté de la virgule, 0 est de rang -1, 0 est de rang -2, le 1 est de rang -3, et le 1 est de rang -4.
Et pour passer a la base 10, il suffit d'appliquer cette formule : *Chiffre x Base^(rang) + 2emeChiffre x Base^(rang)... etc*, donc dans notre example:
/0 x 3° + 1 x 3¹ + 2 x 3² + 1 x 3³ + 1 x 3^4 + 0 x 3¯¹ + 0 x 3¯² + 1 x 3¯³ + 1 x 3^(-4) ≈ (129,05)10/
** Comment passer d'une base N a une base N^(n) :
Si il ya une relation entre une base et une autre, on peut directement transformer vers cette base.
*** Exemple :
Pour passer de la base 2 a la base 8 (8 qui est 2³) on découpe les chiffres 3 par 3
(1 101 011, 011)2 ; Pour le dernier 1 qui est seul ~tout comme moi~ il suffit d'ajouter des 0 à gauche (car on peut) pour compléter le découpage.
(001 101 011, 011)2; Next step c'est de dessiner le tableau de conversion de la base 2 a la base 8 ( un tableau a 3 bits )
| N | | | |
|---+---+---+---|
| 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 |
| 2 | 0 | 1 | 0 |
| 3 | 0 | 1 | 1 |
| 4 | 1 | 0 | 0 |
| 5 | 1 | 0 | 1 |
| 6 | 1 | 1 | 0 |
| 7 | 1 | 1 | 1 |
Pour remplir on a qu'a diviser les chiffres en deux, et mettre des 0 dans la première partie et des 1 dans la 2éme, et en faire de même pour les autres colonnes .
Maintenant il suffit de trouver l'équivalent de la base2 en base8 :
001 c'est 1 ; 101 c'est 5 ; 011 c'est 3 ; donc *(1101011,011)2 ---> (153,3)8*
** L'arithmétique binaire :
*** L'addition :
0 + 0 = 0 On retiens 0
1 + 0 = 1 On retiens 0
0 + 1 = 1 On retiens 0
1 + 1 = 0 On retiens 1
1 + 1 + 1 = 1 On retiens 1
Donc 0110 + 1101 = 10011
*** La soustraction :
0 - 0 = 0 On emprunt = 0
1 - 0 = 1 On emprunt = 0
0 - 1 = 1 On emprunt = 1
1 - 1 = 0 On emprunt = 0
** TP N°1 :
*** Exo1:
| Base 10 | Base 2 | Base 3 | Base 8 | Base 16 |
|----------+------------------+---------------+--------+---------|
| 22,75 | 10110,11 | 211, _20_ | 26,6 | F6,C |
| 684,125 | 1010101100,001 | 221100, _01_ | 1254,1 | 2AC,2 |
| 3931,625 | 111101011011,101 | 1101121, _12_ | 7533,5 | F5B,A |
| 52,38 | 110100,011 | 1221,101 | 64,3 | 34,6147 |
| 10,67 | 1010,101 | 23,5 | 12,5 | A,AB85 |
**** (10110,11)2
0 x 2° + 1 x 2¹ + 1 x 2² + 0 x 2³ + 1 x 2^(4) + 1 x 2¯¹ + 1 x 2¯² = (22.75)10
***** (22,75)10 ----> (3)
22/3 = 7 R *1* ; 7/3 = 2 R *1* ; 2/3 = 0 R *2*
0,75 x 3 = *2*.25 ; 0,25 x 3 = *0*.75 .....
(22,75)10 ----> (211, _20_)
***** (10110,11)2 ----> (8)
8 = 2³ ; (010 110,110)2 ----> (?)8
En utilisant le tableau 3bits :
010 : 2 ; 110 : 6 ; 110 : 6
(10110,11)2 ----> (26,6)8
***** (22,75)10 ----> (16)
22/16 = 1 R *6* ; 1/16 : 0 R *F*
0,75 x 16 = *C*
(22,75)10 ----> (F6,C)16
**** (1254,1)8
4 x 8° + 5 x 8¹ + 2 x 8² + 1 x 8³ + 1 x 8¯¹ = (684,125)10
***** (1254,1)8 ----> (?)2
En utilisant le tableau 3bits :
001 010 101 100,001 /We will get rid of the leading zeros/
(1010101100,001)2
***** (684,125)10 ----> (?)3
684/3 = 228 R *0* ; 228/3 = 76 R *0* ; 76/3 = 25 R *1* ; 25/3 = 8 R *1* ; 8/3 = 2 R *2* ; 2/3 = 0 R *2*
0,125 x 3 = *0*,375 ; 0,375 x 3 = *1*,125
(221100, _01_)3
***** (684,125)10 ----> (?)16
684/16 = 42 R *C* ; 42/16 = 2 R *A* ; 2/16 0 R *2*
0,125 x 16 = *2*
(2AC,2)16
**** (F5B,A)16
11 x 16° + 5 x 16 + 15 x 16² + 10 x 16¯¹ = (3931,625)10
***** (3931,625)10 ----> (8)
3931/8 = 491 R *3* ; 491/8 = 61 R *3* ; 61/8 = 7 R *5* ; 7/8 = 0 R *7*
0,625 x 8 = *5*
(7533,5)8
***** (7533,5)8 ----> (2)
En utilisant le tableau 3bits
(111 101 011 011,101)2
***** (3931,625)10 ----> (3)
3931/3 = 1310 R *1* ; 1310/3 = 436 R *2* ; 436/3 = 145 R *1* ; 145/3 = 48 R *1* ; 48/3 = 16 R *0* ; 16/3 = 5 R *1* ; 5/3 = 1 R *2* ; 1/3 = 0 R *1*
0.625 x 3 = *1*,875 ; 0,875 x 3 = *2*,625
(1101121, _12_)3
**** (52,38)10
52/2 = 26 R *0* ; 26/2 = 13 R *0* ; 13/2 = 6 R *1* ; 6/2 = 3 R *0* ; 3/2 = 1 R *1* ; 1/2 = 0 R *1*
0,38 x 2 = *0*,76 ; 0,76 x 2 = *1*,52 ; 0,52 x 2 = *1*,04 ; 0,04 x 2 = *0*,08 ....
(110100,0110)2
***** (52,38)10 ----> (3)
52/3 = 17 R *1* ; 17/3 = 5 R *2* ; 5/3 = 1 R *2* ; 1/3 = 0 R *1*
0,38 x 3 = *1*.14 ; 0,14 x 3 = *0*.42 ; 0,42 x 3 = *1*.26 ; 0.26 x 3 = *0*.78 ...
(1221,101)3
***** (110100,011)2 ----> (8)
En utilisant le tableau 3bits:
(110 100,011)2 ----> (64,3)8
***** (52,38)10 ----> (16)
52/16 = 3 R *4* ; 3/16 = 0 R *3*
0,38 x 16 = *6*,08 ; 0,08 x 16 = *1*,28 ; 0,28 x 16 = *4*,48 ; 0,48 x 16 = *7*,68 ....
(34,6147)16
**** (23,5)3
3 x 3° + 2 x 3 + 5 x 3¯¹ = (10.67)10
***** (10,67)10 ----> (2)
10/2 = 5 R *0* ; 5/2 = 2 R *1* ; 2/2 = 1 R *0* ; 1/2 = 0 R *1*
0,67 x 2 = *1*,34 ; 0,34 x 2 = *0*,68 ; 0,68 x 2 = *1*,36 ; 0,36 x 2 = *0*,72 ...
(1010,101)2
***** (001 010,101)2 ----> (8)
*Ô Magic 3bits table, save me soul, me children and me maiden:*
(12,5)8
***** (10,67)10 ----> (16)
10/16 = 0 R *A*
0,67 x 16 = *A*,72 ; 0,72 x 16 = *B*,52 ; 0,52 x 16 = *8*,32 ; 0,32 x 16 = *5*,12 ...
(A,AB85)16
*** Exo2:
**** (34)? = (22)10
(34)a = (22)10 ; 4 x a° + 3 x a = 22 ; 4 + 3a = 22 ; 3a = 18
*a = 6*
**** (75)? = (117)10
(75)b = (117)10 ; 5 x b° + 7 x b¹ = 117 ; 5 + 7b = 117 ; 7b = 112
*b = 16*
*** Exo3:
**** (101011)2 + (111011)2
101011 + 111011 = 1100110
**** (1011,1101)2 + (11,1)2
1011,1101 + 11,1000 = 1111,0101
**** (1010,0101)2 - (110,1001)2
1010,0101 - 110,1001 = 11,1100
** L'arithmétique binaire (Suite): /Oct 4/
*** La multiplication :
0 x 0 = 0
0 x 1 = 0
1 x 0 = 0
1 x 1 = 1
*** La division :
On divise de la manière la plus normale du monde !!!
* 4th cours : Le codage /Oct 10/
** Le codage des entiers positifs
Le codage sur n bits permet de representer tout les entiers naturels compris entre [0, 2^n - 1]. On peut coder sur 8bits les entiers entre [0;2^8 - 1(255)]
** Le codage des nombres relatifs
*** Remarque
Quelque soit le codage utilise, par convention le dernier bit est reserve pour le signe. ou 1 est negatif et 0 est positif.
*** Le codage en signe + valeur absolue (SVA):
Avec n bits le n eme est reserve au signe : [-(2^n-1)-1 , 2^n-1 -1]. Sur 8bits [-127, 127]
*** Codage en compliment a 1 (CR):
On obtiens le compliment a 1 d'un nombre binaire en inversant chaqu'un de ses bits (1 -> 0 et 0-> 1) les nombres positifs sont la meme que SVA (il reste tel qu'il est)
*** Codage en compliment a 2 (CV):
C'est literallement CR + 1 pour les negatifs et SVA pour les nombres positifs
|