Arbejde med Flydende Kommatal
Stryg for at vise menuen
Tallene slutter ikke med heltal. Der findes også flydende kommatal. I C++ bruger vi datatyperne float og double til at gemme dem. Dette kapitel omhandler datatypen float, mens det næste kapitel vil tage fat på datatypen double og dens forskelle. Nedenfor ses syntaksen for brugen af float:
float.h
1float num = 0.45;
Lad os hurtigt se på, hvordan flydende kommatal lagres i hukommelsen.
Datatypen float optager 4 bytes hukommelse, ligesom en int. Dog er det langt mere kompliceret at konvertere sådanne tal til binær kode:
Her er et eksempel på, hvordan float num = 13.45 ville blive lagret:
Det er i orden, hvis du ikke fuldstændigt forstår, hvad der sker her. Det vigtigste at bemærke er, at repræsentationen af en float er opdelt i 3 dele:
-
fortegnskomponenten er repræsenteret ved enten et plus (
+) eller minus (-) symbol. Den angiver, om et tal er positivt eller negativt; -
eksponentkomponenten bestemmer det interval, et tal kan repræsentere. Jo større eksponenten er, desto bredere er det interval af værdier, der kan repræsenteres. For datatypen
floatoptager eksponenten 1 byte (8 bits) af hukommelsen; -
mantissekomponenten bestemmer præcisionen af en
float. Ikke alle tal kan repræsenteres nøjagtigt i hukommelsen, og præcisionen af et tal defineres af længden af mantissen. For datatypenfloater mantissens længde 23 bits.
Som resultat har float en præcision på 7 decimaler og et område fra 1.2e-38 til 3.4e+38 (gælder for både negative og positive tal). Så for det meste er området ikke et problem. Men præcisionen kan nogle gange være det.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat