|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: May 2011
Messaggi: 17
|
[C]Visualizzare la rappresentazione binari float [s,e,m]
Ragazzi come da titolo devo fare questo esercizio per visualizzare la rappresentazione binaria di un float con segno esponente e mantissa.
Il programma mi funziona bene, vi posto il codice: Codice:
#include <stdio.h>
#include <stdlib.h>
#include <float.h>
#include <math.h>
void estrae_bit(long, char [32]);
void main()
{
char i, bit[32];
union basic_single {
float fa;
long la;} a;
printf("Inserire il float: "); scanf("%f",&a.fa);
estrae_bit(a.la, bit);
printf("\tfloat= %e\n", a.fa);
printf("\tlong hex = %08x\n",a.la);
printf("bit corrispondenti\tsegno esponente mantissa");
printf("\t\t\n %1d ",bit[0]);
for(i=1;i<=8;i++) printf("%1d",bit[i]);
printf(" ");
for(i=9;i<31;i++)
printf("%1d",bit[i]);
puts("\n");
}
/*verificare numero dei bit coincida con i dati iniziali*/
void estrae_bit(long reg, char B[32])
{
short i;
for (i=31;i>=0;i--)
{
B[i]=(char)(1 & reg);
reg=reg>>1;
}
}
Grazie in anticipo per le risp |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:06.



















