Arbeide med Flyttall
Sveip for å vise menyen
Tallene slutter ikke med heltall. Det finnes også flyttall. I C++ brukes datatypene float og double for å lagre slike tall. Dette kapittelet omhandler datatypen float, mens neste kapittel tar for seg double og forskjellene mellom dem. Nedenfor vises syntaksen for bruk av float:
float.h
1float num = 0.45;
En kort gjennomgang av hvordan flyttall lagres i minnet.
Datatypen float bruker 4 byte minne, akkurat som en int. Å konvertere slike tall til binærkode er imidlertid langt mer komplisert:
Her er et eksempel på hvordan float num = 13.45 ville blitt lagret:
Det er helt greit om du ikke forstår alt som skjer her. Det viktigste å merke seg er at representasjonen av en float er delt inn i 3 deler:
-
Fortegn-komponenten er representert med enten et plusstegn (
+) eller minustegn (-). Den angir om et tall er positivt eller negativt; -
Eksponent-komponenten bestemmer området et tall kan representere. Jo større eksponenten er, desto større verdiområde kan representeres. For datatypen
floatopptar eksponenten 1 byte (8 biter) av minnet; -
Mantisse-komponenten bestemmer presisjonen til en
float. Ikke alle tall kan representeres nøyaktig i minnet, og presisjonen til et tall defineres av lengden på mantissen. For datatypenfloater mantissens lengde 23 biter.
Som et resultat har float en presisjon på 7 desimaler og et område fra 1.2e-38 til 3.4e+38 (gjelder både negative og positive tall). Så for det meste er ikke området et problem. Men presisjonen kan noen ganger være det.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår