Vous êtes sur la page 1sur 2

Abdellah HSSINI GI S5

PROJET : INFORMATIQUE INDUSTRIELLE

#include <stdio.h>

void printBinary(int n, int i)


{
int k;
for (k = i - 1; k >= 0; k--)
{
if ((n >> k) & 1) // si le decalage du nombre n a droite k bits est egale 1 alors j'affiche 1 sinon j'affiche 0
printf("1");
else
printf("0");
}
}
typedef union // je cree un union qui a comme attributs une variable flottante f et un type predefinis struct
ieee qui represente un nombre flottante f sous la norme ieee754
{
float f;
struct
{
unsigned int mantisse : 23;
unsigned int exposent : 8;
unsigned int signe : 1;
} ieee;
} ieee754_float;
void printIEEE(ieee754_float var) // cette fonction recoit un variable de type ieee754 et l'affiche
{
printf("%d | ", var.ieee.signe); // affichage de bit de signe
printBinary(var.ieee.exposent, 8); // affichage de la suite des bits de l'exposent
printf(" | ");
printBinary(var.ieee.mantisse, 23); // affichage de la suite des bits de la mantisse
printf("\n");
}
int main()
{
ieee754_float var;
var.f = 12.6;
printf("The result of %f is : \n",
var.f);
printIEEE(var);
return 0;
}

Vous aimerez peut-être aussi