Programmeren in C/Berekeningen: verschil tussen versies

1.441 bytes toegevoegd ,  3 jaar geleden
Voeg voorbeeld toe van machten en wortels. Breid inleiding uit.
(titel)
(Voeg voorbeeld toe van machten en wortels. Breid inleiding uit.)
{{Programmeren in C}}
Je kunt makkelijk rekenen met C. Rekenen wordt gedaan met + (optellen), - (aftrekken), * (vermenigvuldiging), / (deling) en % (modulo). De machten en wortels moet je wel met speciale functies doen.
Ook zijn er operatoren voor het beïnvloeden van bits; dit zijn << (''left shift''), >> (''right shift''), | (OF), & (EN), ^ (XOF) en ~ (inversie).
Voor het berekenen van machtsverheffingen en wortels zijn speciale functies gedefinieerd.
 
==Gewone berekeningen: het gebruik van variabelen en rekenkundige bewerkingen==
{{TeDoen|wat=Uitleggen hoe je gewone berekeningen kunt doen.|geplaatst door=[[Gebruiker:Sephiroth|Sephiroth]] 30 dec 2007 00:06 (CET)}}
 
==MachtenMachtsverheffingen en wortels==
{{TeDoen|wat=Uitleggen hoe je met machten en wortels kunt werken.|geplaatst door=[[Gebruiker:Sephiroth|Sephiroth]] 30 dec 2007 00:06 (CET)}}
Voor het berekenen van machtsverheffingen en wortels zijn speciale functies gedefinieerd in de header "math.h".
 
Een wortel kan berekend worden door middel van de functie sqrt (samentrekking van het Engelse ''square root'') die een double ontvangt en een double teruggeeft.
Sinds de standaard C99 (officieel ''ISO/IEC 9899:1999'') zijn ook de functies sqrtf en sqrtl toegevoegd, respectievelijk voor het berekenen van de wortel van een float en een long double.
 
Om machtsverheffingen te berekenen bestaan de functies pow (double), powf (float) en powl (long double).
Deze functies krijgen twee waarden, het grondtal en de exponent, en geven het grondtal tot de macht van de exponent.
Hetzelfde verhaal als van de functie sqrt geldt ook voor de functie pow.
 
{{code
|Taal= C
|Titel=
|Code=
<source lang=c>
#include <stdio.h>
#include <math.h>
 
int main(void)
{
float a = 16.0F;
double b = 25.0;
long double c = 144.0L;
 
printf("%f\n", sqrtf(a)); // 4.000000
printf("%f\n", sqrt(b)); // 5.000000
printf("%Lf\n", sqrtl(c)); // 12.000000
 
printf("%f\n", powf(2.0F, 5.0F)); // 32.000000
printf("%f\n", pow(3.0, 4.0)); // 61.000000
printf("%Lf\n", powl(7.0L, 2.0L)); // 49.000000
}
</source>
}}
 
==Post* en pre*==
5

bewerkingen

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.