Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Arbejde med flydende kommatal | Numeriske Datatyper
C++ Datatyper

bookArbejde med flydende kommatal

Stryg for at vise menuen

Tallene slutter ikke med heltal. Der findes også kommatal. I C++ bruges 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

float.h

copy
1
float num = 0.45;

Et hurtigt kig på, hvordan 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 helt forstår, hvad der sker her. Det vigtigste at bemærke er, at repræsentationen af en float er opdelt i 3 dele:

  • fortegnsdelen er repræsenteret af enten et plus (+) eller minus (-) symbol. Den angiver, om et tal er positivt eller negativt;

  • eksponentdelen bestemmer det interval, et tal kan repræsentere. Jo større eksponenten er, desto bredere et interval af værdier kan repræsenteres. For datatypen float optager eksponenten 1 byte (8 bits) af hukommelsen;

  • mantissadelen 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 på mantissaen. For datatypen float er mantissalængden 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). Derfor er området sjældent et problem, men præcisionen kan nogle gange være det.

question mark

Hvad er det maksimale antal decimaler, som en float nøjagtigt kan repræsentere?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 4

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 2. Kapitel 4
some-alt