© Harry Broeders.
Deze pagina is bestemd voor studenten van de Haagse Hogeschool - TH Rijswijk/Academie voor Engineering.
De include file math.h is opgenomen in de C ANSI standaard. Deze headerfile bevat een aantal constanten en functies om te werken met het floating point getallen.
Diverse math functies en constanten.
Om math functies te kunnen gebruiken moet libm.a meegelinkt worden. Om
float
s te kunnen gebruiken met printf
moet ook
de library libprintf_flt.a meegelinkt worden:
Om printf met floats te kunnen gebruiken is daarnaast ook een extra Custom
Linker Option nodig: -Wl,-u,vfprintf
Je moet eerst op de knop Custom Options klikken (links), vervolgens [Linker Options] selecteren en dan in het veld naast de Add knop intypen:
-Wl,-u,vfprintf
Tot slot moet je dan nog op de Add knop drukken.
Voorbeeld:
#include "lcdio.h"
#include <math.h>
int main(void) {
double x=M_PI;
printf("Dit is \xf7:");
lcd_goto(1, 0);
printf("%lf", x);
while(1);
return 0;
}
Nog een voorbeeld:
#include "lcdio.h"
#include <math.h>
int main(void) {
float f=sin(1);
double d=sin(1);
printf("f=%.10f", f);
lcd_goto(1, 0);
printf("d=%.10lf", d);
while(1);
return 0;
}
Uitvoer:
f=0.8414710045
d=0.8414710045
Terwijl de rekenmachine zegt: 0,8414709848078965066525023216303
Dus zowel float
als double
hebben slechts 7
significante cijfers (32 bits floats). Klopt want sizeof(float)
== sizeof(double)
== 2
.