Salve ho bisogno di una mano per l'esercizio seguente: Scrivere una function c per visualizzare la rappresentazione binaria (s,e,m) di un numero float.Verificare che il dato inziale conincida con il dato iniziale..
ho provato a risolverlo ma nn funziona ecco il codice
codice:
#include<stdio.h>
#include<stdlib.h>
#define len 32
void sem(float,float[]);
void bit(float,float[]);
int main(){
float n;
float bin[len];
printf("Dammi n \n");
scanf("%f",&n);
sem(n,bin);
system("PAUSE");
return 0;
}
void sem(float n,float bin[len]){
int i;
printf("Segno %f\n",bit[31]);
printf("esponente\n");
for(i=23,i<31;i++)
printf("%f",bit[i]);
printf("\nMantissa\n");
for(i=0;i<23;i++)
printf("%f",bit[i]);
}
void bit(float n,float bit[len]){
int j;
j=len-1;
do{bit[j]=n&1;
--j;
n=n>>1;
}while(n!=0&&j>=0);
if(j>0)
{do{bit[j]=0;
--j;
}while(j>=0);
}
for(j=0;j<len;++j)
printf("%d",bit[j]);
}
non mi funziona perchè gli operatori bitwise nn si possono utilizzare con i float..