Vergelijkingstabel:
Basis voor vergelijking | Vlotter | Dubbele |
---|---|---|
precisie | Enkele precisie. | Dubbele precisie. |
Bits | 32 bits. | 64 bits. |
bytes | 4 bytes . | 8 bytes. |
Geschatte bereik | 1.4e-045 tot 3.4e + 038 | 4.9e-324 tot 1.8e + 308 |
Bitvertegenwoordiging | 1 bit vertegenwoordigt tekenbit. 8 bit vertegenwoordigt exponent. 23 bits vertegenwoordigen mantisse. | 1 bit vertegenwoordigt tekenbit. 11 bit vertegenwoordigen exponent. 52 bits vertegenwoordigen mantisse. |
Nauwkeurigheid | Minder precies. | Accurater. |
Definitie van Float
Een datatype float is een van de Floating-point-typen. Het datatype float heeft 32-bits opslag (wat gelijk is aan 4 bytes) voor de variabele floattype. Float van gegevenstype specificeert enkele precisie. De weergave van 32 bit in float kan worden uitgelegd als 1 bit wordt voorgesteld als het tekenbit, 8 bits worden gerepresenteerd als een exponent en 23 bits worden gerepresenteerd als mantisse. Het maximale bereik van een floattype is 1, 4e-045 tot 3, 4e + 038. In vergelijking met het type met drijvende komma is floattype minder nauwkeurig tijdens wiskundige berekeningen. Laten we float begrijpen aan de hand van een voorbeeld.
#include #include int main () {float num1 = sqrt (64.23) cout << num1; } // output 8.00060
Zoals in de bovenstaande code, kunt u zien dat aan een float-variabele num1 een waarde is toegewezen die de functie sqrt () is, die de vierkantswortel van de waarde retourneert die aan deze functie wordt doorgegeven. Je kunt zien dat wanneer de waarde in num1 wordt afgedrukt, deze bijna exact overeenkomt met de waarde, maar deze is niet nauwkeurig. Laten we nu het onderstaande voorbeeld bekijken wanneer hetzelfde programma wordt uitgevoerd met dubbel als datatype.
Definitie van Double
Double is het tweede type datatype met een drijvende komma. Een datatype-double heeft 64-bit storage (wat gelijk is aan 8 bytes) voor een variabele van het dubbele type. Het specificeert dubbele precisie omdat de grootte ervan slechts het dubbele is van de float. De 64-bits representatie van het type dubbel kan worden verklaard als 1 bit staat voor tekenbit, 11 bits staat voor een exponent en de resterende 52 bits staat voor mantisse. Onder float en double meest gebruikte gegevenstype is het dubbele. Het type dubbel wordt gebruikt tijdens wiskundige berekeningen en wanneer er behoefte is aan perfecte nauwkeurigheid. De wiskundige functies sin (), cos () en sqrt () retourneren altijd een dubbele waarde. Laten we de nauwkeurigheid van het datatype dubbel begrijpen met een voorbeeld.
#include #include int main () {double num1 = sqrt (64.23) cout << num1; } // output 8.0143621
U kunt opmerken dat de uitvoer die in het voorbeeld wordt verkregen, waarbij float wordt uitgelegd, verschilt van de uitvoer die in het voorbeeld wordt verkregen, met uitleg over het dubbele. Hieruit kunnen we dus concluderen dat de resultaten van dubbel zijn nauwkeuriger in vergelijking met float.
Belangrijkste verschillen tussen Float en Double
- Het datatype float geeft een enkele precisie aan, wat betekent dat wanneer het wordt vergeleken met het dubbele, het minder nauwkeurig is, terwijl het dubbele dubbele precisie specificeert omdat het slechts een dubbele floatwaarde heeft, zijn fout is verwaarloosbaar in vergelijking met float.
- Een variabele van het floattype heeft een opslagcapaciteit van 32 bits, terwijl een variabele van het dubbele type een opslag van 64 bits heeft, die compileert dat dubbel groter is in opslag in vergelijking met float.
- De waarde in float kan variëren van 1, 4e-045 tot 3, 4e + 038, terwijl de waarde van het dubbele type kan variëren van 4, 9e-324 tot 1, 8e + 308.
- De bitrepresentatie van een floatwaarde lijkt op dat 1 bit dobber wordt gebruikt voor singbit, de 8 bits voor exponent en 23 bits voor het opslaan van mantisse. Aan de andere kant lijkt een dubbele waarde op die waarvan 1 bit wordt gebruikt voor sing-bit, de 11-bits voor exponent en 52 bits ervan voor het opslaan van de mantisse.
- In vergelijking met dubbele float is minder nauwkeurig vandaar, terwijl wiskundige berekening dubbel wordt gebruikt.
Conclusie:
Nou, je moet over het algemeen dubbel gebruiken omdat het de nauwkeurigheid biedt die onze hoofdmoto meestal is.