###### tags: `SIN`
# TD1 Systèmes d'Information Numérique (SIN1)
### 1. Systèmes de numération
:::info
:pushpin: **Rappel**
- Une base désigne la valeur dont les puissances successives interviennent dans l'écriture des nombres.
**E.g.**, base $2$ : $2^0, 2^1, 2^2$
- Un nombre $N$ est représenté dans une base $b$ selon l'expression suivante :$N = a_n b^n + a_{n-1} b^{n-1} + ... + a_1 b + a_0 = \sum_{i=0}^{n} a_i b^i$
**E.g.**, $(3)_{10} = 1.2^1 + 1.2^0 → (3)_{2} = 1 1$
- Dans une base $b$, il faut donc $b$ symboles pour représenter un nombre : $0, 1, 2, …, b-1$. Ces symboles sont appelés chiffres.
**E.g.** :
base $2$ : $0, 1$
base $10$ : $0, 1, 2, 3, 4, 5, 6, 7, 8, 9$
base $16$ : $0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F$
:::
#### Exercice 1
Donner la représentation du nombre décimal 1024 en base 2 et en base 16.
#### Exercice 2
La plupart des gens ne comptent sur leurs doigts que jusqu’à 10. En bon informaticien, vous pouvez sûrement faire mieux. Supposons que chaque doigt représente un binaire de valeur 1 si le doigt est tendu et 0 s’il est replié.

- Représenter les nombres 72 et 529 avec les deux mains avec les 2 mains face à soi, les poids faibles à droite comme indiqué sur l'image .
- Jusqu’à combien pouvez-vous compter au maximum ?
### 2. Entiers naturels
#### Exercice 3
Effectuer les changements de base suivants :
- binaire → décimal
$10101_2 =$
- hexadécimal → binaire
$0x2A5_{16} =$
- décimal → hexadécimal
$248_{10} =$
- binaire → décimal
$1011110110111_{2} =$
- décimal → binaire
$25_{10} =$
- octal → binaire
$25_{8} =$
- octal → décimal
$2357_{8} =$
- binaire → octal → hexadécimal
$101101_{2} =$
- décimal → binaire
$1492_{10} =$
:::info
:pushpin: **Méthode des divisions successives pour la conversion décimal→binaire**

:::
#### Exercice 4
1. A quoi correspond un décalage à **gauche** d'une position dans une base $b$ ? A quoi correspond un décalage à **droite** ? Vous donnerez un exemple dans chaque cas.
2. Combien de nombres entiers positifs différents peut-on exprimer avec $k$ chiffres dans une base $b$ ?
### 3. Entiers signés
:::info
:pushpin: Précédemment, nous avons vu comment représenter les nombres entiers non signés dans différentes bases. Cette fois-ci, on cherche à représenter les nombres signés, c’est-à-dire positifs et négatifs, en binaire. Il existe plusieurs types de représentation :
<br/>
- **Signe + grandeur (SG)**
Le bit de poids fort est utilisé pour coder le signe : **$0$** signifie qu'il s'agit d'un nombre positif et **$1$** signifie qu'il s'agit d'un nombre négatif.
<br/>
Représentation de $5$ :
| Signe | $2^2$ | $2^1$ |$2^0$ |
| :---: |:---: | :--: |:--: |
| $0$ | $1$ | $0$ |$1$ |
Représentation de $-5$ :
| Signe | $2^2$ | $2^1$ |$2^0$ |
| :---: |:---: | :--: |:--: |
| $1$ | $1$ | $0$ |$1$ |
- **Complément à 1 (C1)**
Sur $1$ bit : $N + \bar{N} = 1$
Sur $n$ bits : $N + \bar{N} = 2^n-1$ d'où $\bar{N} = 2^n-1-N$
<br/>
Représentation de $-5$ :
| Signe | $2^2$ | $2^1$ |$2^0$ |
| :---: |:---: | :--: |:--: |
| $1$ | $0$ | $1$ |$0$ |
Invervalle représentable avec $n$ bits : $-(2^{n-1}-1) \leq N \leq 2^{n-1}-1$
<br/>
- **Complément à 2 (C2)**
Sur $n$ bits : $-𝑁 = 2^n − 1 − 𝑁 + 1 = \bar{N} + 1$
**C2** $=$ **C1**$+ 1$
<br/>
Représentation de $-5$ :
| Signe | $2^2$ | $2^1$ |$2^0$ |
| :---: |:---: | :--: |:--: |
| $1$ | $0$ | $1$ |$1$ |
Invervalle représentable avec $n$ bits : $-2^{n-1} \leq N \leq 2^{n-1}-1$
:::
#### Exercice 5
Donner la représentation des valeurs décimales $-32$ et $-128$ sur 8 bits suivant les 3 types de représentation (complément à 1, complément à 2, signe-grandeur).
#### Exercice 6
Faire les opérations suivantes sur 8 bits en complément à 2 :
- $10 + 3$
- $-9 + 12$
- $10 + (-3)$
- $0x65 - 0xC5$
Selon vous, pourquoi la représentation en complément à 2 est-elle privilégiée dans les processeurs ?