Arbeide med flyttall
Sveip for å vise menyen
Tallene slutter ikke med heltall. Det finnes også flyttall. I C++ bruker vi datatypene float og double for å lagre dem. Dette kapittelet tar for seg datatypen float, mens det neste vil omhandle datatypen double og forskjellene mellom dem. Nedenfor vises syntaksen for bruk av float:
float.h
1float num = 0.45;
En kort oversikt over hvordan flyttall lagres i minnet.
Datatypen float bruker 4 byte med minne, akkurat som en int. Å konvertere slike tall til binærkode er imidlertid mye mer komplisert:
Her er et eksempel på hvordan float num = 13.45 lagres:
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 av 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). For det meste er ikke området et problem. Men presisjon 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