Werken met Drijvende-Kommagetallen
Veeg om het menu te tonen
De getallen eindigen niet bij gehele getallen. Er zijn ook kommagetallen (floating-point numbers). In C++ gebruiken we de gegevenstypen float en double om deze op te slaan. Dit hoofdstuk behandelt het gegevenstype float, terwijl het volgende hoofdstuk het gegevenstype double en de verschillen ertussen bespreekt. Hieronder staat de syntaxis voor het gebruik van float:
float.h
1float num = 0.45;
Bekijk kort hoe kommagetallen in het geheugen worden opgeslagen.
Het gegevenstype float neemt 4 bytes geheugen in beslag, net als een int. Het omzetten van dergelijke getallen naar binaire code is echter veel ingewikkelder:
Hier is een voorbeeld van hoe float num = 13.45 zou worden opgeslagen:
Het is niet erg als je niet volledig begrijpt wat hier gebeurt. Het belangrijkste om te onthouden is dat de representatie van een float is opgesplitst in 3 delen:
-
het teken-component wordt weergegeven door een plus (
+) of min (-) symbool. Dit geeft aan of een getal positief of negatief is; -
het exponent-component bepaalt het bereik dat een getal kan representeren. Hoe groter de exponent, hoe breder het bereik van waarden dat kan worden weergegeven. Voor het
floatgegevenstype neemt de exponent 1 byte (8 bits) geheugen in beslag; -
het mantisse-component bepaalt de precisie van een
float. Niet alle getallen kunnen exact in het geheugen worden weergegeven, en de precisie van een getal wordt bepaald door de lengte van de mantisse. Voor hetfloatgegevenstype is de mantisselengte 23 bits.
Daardoor heeft float een precisie van 7 decimale cijfers en een bereik van 1.2e-38 tot 3.4e+38 (geldt voor zowel negatieve als positieve getallen). Dus meestal is het bereik geen probleem. Maar precisie is dat soms wel.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.