Salut, S'il-vous-plaît aidez moi, je ne sais même pas comment commencer cet exercice :

Voila le texte de l'exercice :

Soit la représentation en virgule fixe 1.15 en complément à 2 sur 16 bits, où la virgule est à droite du bit de poids fort et où les 15 bits à droite de la virgule correspondent aux puissances 2-i. Cette représentation permet de représenter des nombres entre -1 et 1-2-15.

Écrire la fonction C qui permet de convertir un nombre virgule fixe 1.15 en nombre flottant simple précision pour pouvoir afficher sa valeur à l’aide des formats d’impression flottant %f ou %d de C.

Pour tester la conversion virgule fixe vers virgule flottante, on entrera un nombre signé 16 bits (short) et l’on vérifiera son interprétation 1.15 après conversion en flottant.

Aide :

Le programme C suivant permet d’afficher le contenu hexadécimal du codage d’une variable de type float : ca et &a correspondent à la même adresse. a est la variable flottante, et *ca est le contenu de la même variable, mais interprété comme un entier et affiché en hexadécimal (%x).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
main()
{
          float a=10.0;
          int *ca;
          ca = (int *)&a;
          printf("codage du flottant = %x \n", *ca);
}