# TD Représentation des nombres

1. Convertissez les nombres suivants en décimal
    - $\mathrm{5B0F}_{|16}$
        * $23 311_{|10}$
    - `0x1001`
        * $4097_{|10}$
    - $10011010_{|2}$
        * $154_{|10}$
    - `1001b`
        * $9_{|10}$

2. Convertissez les nombres suivants en binaire
    - $251_{|10}$ (utilisez les deux méthodes)
        * 1111 1011b
    - $3887_{|10}$ (utilisez les deux méthodes)
        * 1111 0010 1111b
    - $\mathrm{532}_{|16}$
        * 0101 0011 0010b
    - $\mathrm{5B0F}_{|16}$
        * 0101 1011 0000 1111b

3. Convertissez les nombres suivants en hexadécimal
    - $10011010_{|2}$
        * 0x9A
    - $100110101_{|2}$
        * 0x135
    - $111 1001 1100 1011 1101 0001_{|2}$
        * 0x79CBD1

4. Combien de nombres un octet permet-il de représenter ? Justifier.
    * 2⁸ = 256 -> 256 nombres

5. En admettant qu'un nombre entier naturel soit codé sur 32 bits, quelle est la valeur maximale que peut avoir un entier naturel ? À votre avis, dans un système informatique, que se passe-t-il si on augmente de 1 la valeur maximale d'un entier ?
    * 2³² = 4 294 967 296 -> valeur max = 4 294 967 295 (Il ne faut pas oublier le zéro)
    * Il repasse à zéro : on appelle ça un débordement (overflow en anglais). C'est une source de bugs courante. C'est pour cela qu'il faut être attentif à la valeur maximale qu'un nombre peut avoir dans vos programmes.

6. Mon ordinateur m'indique qu'un fichier fait 13 560 788 octets. Combien cela représente-t-il environ (1 chiffre après la virgule)
    - en kio
        * 13 560 788 / 2¹⁰ = 13243,0 kio
    - en Mio
        * 13 560 788 / 2²⁰ = 12,9 Mio
    - en ko
        * 13 560,8 ko
    - en Mo
        * 13,6 Mo

7. Quelle est la capacité d'un disque dur de 1To 
    - en Go
        * 1000 Go
    - en Mo
        * 1 000 000 Mo
    - en Gio
        * 10¹² / 2³⁰ = 932,3 Gio
    - en Mio
        * 953 674,3 Mio
