Ecriture d'un entier positif
Convertir en base décimale les nombres binaires suivants : $\overline{10}^2$ $\overline{1001}^2$ $\overline{1101}^2$ $\overline{10000}^2$ $\overline{11001}^2$ $\overline{11111}^2$ Calculer (en binaire) les résultats des sommes suivantes : $\overline{10}^2 + \overline{1001}^2$ $\overline{1001}^2 + \overline{1101}^2$ $\overline{11001}^2 + \overline{1101}^2$ $\overline{11111}^2 + \overline{10}^2$ Calculer (en binaire) les résultats des différences suivantes : $\overline{1101}^2 - \overline{1001}^2$ $\overline{1001}^2 - \overline{10}^2$ $\overline{11111}^2 - \overline{11001}^2$ $\overline{11001}^2 - \overline{10}^2$ En convertissant les résultats obtenus en décimal, vérifier la cohérence de ces calculs avec le système décimal (utiliser les conversions de l'exercice 1). Comment peut-on faire pour multiplier rapidement par $2$ un nombre écrit en binaire ? (essayer sur des exemples) On rapelle qu'un nombre binaire de $n$ bits s'écrit avec une suite de $n$ caractères. Par exemple, $\overline{11001}^2$ est un "mot" de $5$ bits Combien peut-on écrire de nombres différents avec $1$ bit ? $2$ bits ? Jusqu'à combien peut-on compter avec un octet (8bits) ? Deux octets ? Combien faut-il de bits pour écrire en binaire le nombre décimal $\overline{390}^{10}$ ? $\overline{390}^{10}$ ? A combien d'octets correspond $1000$ bits (ou un kilobit) ? A combien de bits correspond $1$ Ko ? Soit $b$ un nombre binaire de longueur $n$ que l'on représente de la manière suivante : $$ b=\overline{b_{n-1} b_{n-2}...b_1b_0}^2 $$ Ainsi, $b_i$ représente le $i$_ème bit de $b$ (et vaut $0$ ou $1$).

Ecrire un algorithme qui prend en entrée un nombre binaire $b$ de longueur $n$ et calcule sa valeur décimale.

Soit $d$ un nombre entier positif en écriture décimale. Ecrire un algorithme qui calcule la suite de $n$ bits $b_0$, $b_1$, ..., $b_{n-1}$ tels que : $$ d=\overline{b_{n-1} b_{n-2}...b_1b_0}^2 $$ L'image suivante a une largeur de $211$ pixels pour une hauteur de $271$ pixels. Elle est enregistrée dans un format simple et non compressé, le bitmap 8 bits. La palette de couleurs de ce format est limitée à 256 couleurs, chacune représentée par un nombre codé sur $8$ bits.
Combien de couleurs différentes peut afficher une image au format bitmap 8 bits ? Ce format, pour représenter l'image, écrit pour chaque pixel (en partant du premier en haut à gauche, jusqu'au dernier en bas à droite) la valeur de sa couleur dans la palette. Calculer le nombre d'octets nécessaires pour représenter l'image (vérifier en téléchargeant l'image). On préfère généralement utiliser des formats d'image compressés comme le jpegLe format jpeg occasionne une perte de qualité ou le pngLe format png est dit "sans perte" car la qualité de l'image n'est pas altérée..
La différence observée vient du fait que nous n'avons pas compté la taille de l'entête et de la palette du fichier. L'entête contient diverses informations dont les dimensions de l'image. On remarque aussi que le nombre d'octets et le nombre de kilo-octets ne semble pas correspondre. C'est à cause d'une approximation en informatique qui date un peu. Jusqu'en 1998,il avait été décidé que $1 Ko = 1024 o$ car $1024 = 10^{10}$ est une puissance de $2$, ce qui fonctionne mieux avec le système binaire.

Pour sortir de cette grossière approximation, on a décidé depuis de dire que $1024$ octets vaut $1$ Kibi-octet, noté $1$Kio... même si tous les systèmes d'exploitation ne le mentionnent pas forcément.

Convertir en binaire les nombres suivants : $\overline{5}^{10}$ $\overline{10}^{10}$ $\overline{128}^{10}$ $\overline{63}^{10}$ $\overline{1000}^{10}$ Combien faut-il de bits pour écrire en binaire le nombre $\overline{1023}^{10}$ ? $\overline{1024}^{10}$ ? $\overline{10^6}^{10}$ ? Ecrire une fonction affiche_puissances(n) qui prend en argument un nombre entier n et qui affiche dans la console les $n$ premières puissances de $2$. Modifier la fonction pour que l'affichage précise le rang de la puissance comme ceci :
"La 3ème puissance de 2 est 8"
Convertir en binaire et en décimal les nombres hexadécimaux suivants : $\overline{10}^{hex}$ $\overline{2A}^{hex}$ $\overline{FF}^{hex}$ $\overline{FAC}^{hex}$ $\overline{11111}^{hex}$ Convertir en hexadécimal les nombres décimaux suivants : $\overline{10}^{10}$ $\overline{1024}^{10}$ $\overline{2730}^{10}$ $\overline{65535}^{10}$ Convertir en hexadécimal les nombres binaires suivants : $\overline{10}^2$ $\overline{11001}^2$ $\overline{1010000}^2$ $\overline{100111001}^2$ $\overline{10001101011}^2$ $\overline{100111010100}^2$ Soit $h$ un nombre hexacimal de longueur $n$ que l'on représente de la manière suivante : $$ h=\overline{h_{n-1} h_{n-2}...h_1 h_0}^{hex} $$ Ainsi, $h_i$ représente le $i$_ème chiffre de $h$ (compris entre $0$ et $F$). Ecrire un algorithme qui prend en entrée un nombre hexadécimal $h$ de longueur $n$ et calcule sa représentation décimale. Ecrire un algorithme qui prend en entrée un nombre hexadécimal $h$ de longueur $n$ et calcule sa représentation binaire. Soit $b$ un nombre binaire de longueur $n$ que l'on représente de la manière suivante : $$ b=\overline{b_{n-1} b_{n-2}...b_1b_0}^2 $$ Ainsi, $b_i$ représente le $i$_ème bit de $b$ (et vaut $0$ ou $1$). Ecrire un algorithme qui prend en entrée un nombre binaire $b$ de longueur $n$ et calcule sa représentation hexadécimale. Ecrire un algorithme qui prend en entrée un nombre décimal $d$ et calcule sa représentation hexadécimale. Dans les différents langages informatiques, on représente souvent les couleurs de deux manières équivalentes :
  • En RVB : trois nombres (R,V,B)=(rouge, vert et bleu) compris entre 0 et 255.
  • En hexadécimal : c'est un système RVB où la valeur de chaque couleur est un nombre entre 0 et FF
Combien de couleurs peut-on représenter dans ces deux systèmes ? Ecrire en système hexadécimal la couleur représentant un bleu pur. Le blanc. Le noir. On parle de couleur 24bits. Expliquez.