Skip to content
Snippets Groups Projects
Verified Commit 15b531de authored by orestis.malaspin's avatar orestis.malaspin
Browse files

updated for 2022

parent fe528ef5
No related branches found
No related tags found
No related merge requests found
......@@ -50,6 +50,8 @@ date: "2022-11-02"
## Réusiner votre couverture de la reine avec des `enum`
A faire à la maison comme exercice!
# Représentation des nombres (1/2)
* Le nombre `247`.
......@@ -124,7 +126,7 @@ $$
```C
num = 247
while (2^N < num) {
tant que (2^N < num) {
N += 1
}
```
......@@ -134,7 +136,7 @@ $$
2. Boucle
```C
while (N >= 0) {
tant que (N >= 0) {
bit = num / 2^N
num = num % 2^N
N += 1
......@@ -194,7 +196,7 @@ $$
. . .
$$
4294967295
2^{32}-1=4'294'967'295
$$
......@@ -202,7 +204,7 @@ $$
Que donne la multiplication de `1101` avec `0110`?
* L'addition est la même que dans le système décimal
* La mutliplication est la même que dans le système décimal
```
1101 13
......@@ -335,7 +337,7 @@ Pas de nombres négatifs encore...
11111110 => 00000001 + 00000001 = 00000010 = 2.
```
# Le complément à 2 (1/2)
# Le complément à 2 (2/2)
## Quels sont les entiers représentables en 8 bits?
......@@ -543,8 +545,8 @@ $$
. . .
* 24 bits ($23 + 1$) sont utiles pour la mantisse, soit $2^{24}-1$:
* La mantisse fait $\sim2^{24}\sim 10^7$, ou encore
* Ou encore $\sim \log_{10}(2^{24})\sim 7$,
* La mantisse fait $\sim2^{24}\sim 10^7$,
* Ou encore $\sim \log_{10}(2^{24})\sim 7$.
* Environ **sept** chiffres significatifs.
# Nombres à virgule flottante double précision (64bits)
......@@ -670,8 +672,11 @@ Soit une erreur de près de 1/5e!
. . .
## Le même phénomène se produit (à plus petite échelle) avec les `float` ou
`double`.
## Le même phénomène se produit (à plus petite échelle) avec les `float` ou `double`.
# And now for something completely different
\Huge La récursivité
# Exemple de récursivité (1/2)
......@@ -781,6 +786,10 @@ int factorial(int n) {
. . .
Rappelez-vous vous l'avez fait en style **impératif** plus tôt.
. . .
```C
double epsilon_machine(double eps) {
if (1.0 + eps != 1.0) {
......@@ -793,6 +802,8 @@ double epsilon_machine(double eps) {
# La récursivité (4/4)
\footnotesize
## Exercice: que fait ce code récursif?
```C
......@@ -810,10 +821,14 @@ recurse(13);
. . .
```C
binaire(13): n = 13, n % 2 = 1, n / 2 = 6,
binaire(6): n = 6, n % 2 = 0, n / 2 = 3,
binaire(3): n = 3, n % 2 = 1, n / 2 = 1,
binaire(1): n = 1, n % 2 = 1, n / 2 = 0.
recurse(13): n = 13, n % 2 = 1, n / 2 = 6,
recurse(6): n = 6, n % 2 = 0, n / 2 = 3,
recurse(3): n = 3, n % 2 = 1, n / 2 = 1,
recurse(1): n = 1, n % 2 = 1, n / 2 = 0.
// affiche: 1 1 0 1
```
. . .
Affiche la représentation binaire d'un nombre!
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment