###### 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é. ![](https://i.imgur.com/iVWDvQj.png) - 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** ![](https://i.imgur.com/oyFuo2H.png) ::: #### 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 ?