Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

PIC e floating point

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[11]

Messaggioda Foto Utentejosel » 30 giu 2006, 23:55

La funzione frexp(double num, int*exp) ti restituisce la mantissa come 0,nnnn e l’esponente come intero

Es.
Il programma seguente restituisce mantissa = 0.625 e exp = 4;

int E; (esponente)
double F; (mantissa)
F = frexp(10.0, &E) ;
infatti si ha 0,625 * 2^4 = 0.625*16 = 10.0

-----------------------------------------------------

La funzione Idexp(double num, int exp) restituisce il valore num*2^exp. Se si verifica un overflow la funzione restituisce HUGE_VAL

Es. Il codice che segue visualizza il numero 8

Include “math.h”
Include “stdio.h”
void main(void)
printf(“%f”, idexp(2,2)

infatti si ha 2 * 2^2 = 8

--------------------------------------------------

La funzione modf(double num, int*i) scompone num nelle parti intera e frazionaria, restituisce la parte frazionaria e assegna la parte intera alla variabile a cui punta.

Es.
Il codice seguente visualizza 10 e 0.123

Int I;
double F;
F = modf(10.123, &I)

Sarà F=0.123;
I=10;

-----------------------------------------------

Spero di essere stato chiaro

Ciao
josel
Avatar utente
Foto Utentejosel
0 2
 
Messaggi: 20
Iscritto il: 1 giu 2006, 9:03

0
voti

[12]

Messaggioda Foto UtenteShark_86 » 1 lug 2006, 9:36

Adesso si..... :oops: :oops: :oops: Grazie mille!
Avatar utente
Foto UtenteShark_86
0 2
 
Messaggi: 10
Iscritto il: 26 giu 2006, 15:23
Località: Roma

Precedente

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti