Oefening: Zwevende-komma typen ontdekken
- 8 minuten
In deze oefening werkt u met gegevenstypen met drijvende komma om meer te weten te komen over de genuanceerde verschillen tussen elk gegevenstype.
Een drijvende komma is een eenvoudig waardetype dat getallen rechts van de decimale plaats vertegenwoordigt. In tegenstelling tot integrale getallen zijn er andere overwegingen dan de maximum- en minimumwaarden die u kunt opslaan in een bepaald type drijvende komma.
Typen drijvende komma evalueren
Eerst moet u rekening houden met de cijfers van precisie die elk type toestaat. Precisie is het aantal waarden dat na het decimaalteken is opgeslagen.
Ten tweede moet u rekening houden met de manier waarop de waarden worden opgeslagen en de impact op de nauwkeurigheid van de waarde. En waarden worden bijvoorbeeld floatdouble intern opgeslagen in een binaire indeling (basis 2), terwijl decimal ze worden opgeslagen in een decimale notatie (grondtal 10). Waarom doet dit er toe?
Het uitvoeren van berekeningen op binaire drijvende-kommawaarden kan resultaten opleveren die u kunnen verrassen als u gewend bent aan decimale berekeningen (grondtal 10). Vaak is binaire drijvendekommaberekening een benadering van de werkelijke waarde.
float Daarom en double zijn nuttig omdat grote getallen kunnen worden opgeslagen met een kleine geheugenvoetafdruk.
float En double mag echter alleen worden gebruikt wanneer een benadering nuttig is. Als u bijvoorbeeld een paar duizendde af bent bij het berekenen van de splatter van een sneeuwbal in een videospel, is er voldoende afstand van.
Wanneer u een nauwkeuriger antwoord nodig hebt, moet u gebruiken decimal. Elke waarde van het type decimal heeft een relatief grote geheugenvoetafdruk, maar het uitvoeren van wiskundige bewerkingen geeft u een nauwkeuriger resultaat. U moet dus gebruiken decimal bij het werken met financiële gegevens of een scenario waarin u een nauwkeurig resultaat van een berekening nodig hebt.
De eigenschappen MinValue en MaxValue gebruiken voor elk ondertekend floattype
Verwijder of gebruik de operator
//voor regelopmerking om alle code uit de vorige oefeningen als commentaar te geven.Als u de waardebereiken voor de verschillende gegevenstypen wilt bekijken, werkt u uw code als volgt bij in de Visual Studio Code-editor:
Console.WriteLine("");
Console.WriteLine("Floating point types:");
Console.WriteLine($"float : {float.MinValue} to {float.MaxValue} (with ~6-9 digits of precision)");
Console.WriteLine($"double : {double.MinValue} to {double.MaxValue} (with ~15-17 digits of precision)");
Console.WriteLine($"decimal: {decimal.MinValue} to {decimal.MaxValue} (with 28-29 digits of precision)");
Selecteer Opslaan in het menu Visual Studio Code File.
Het Program.cs-bestand moet worden opgeslagen voordat u de code bouwt of uitvoert.
Klik in het deelvenster EXPLORER om een Terminal te openen op de locatie van de map TestProject met de rechtermuisknop op TestProject en selecteer Vervolgens Openen in geïntegreerde terminal.
Er moet een terminalvenster worden geopend en moet een opdrachtprompt bevatten die laat zien dat de Terminal is geopend voor de locatie van de testproject-map.
Typ dotnet-run bij de Terminal-opdrachtprompt en druk op Enter om uw code uit te voeren.
Als er een bericht wordt weergegeven met de tekst 'Kan een project niet vinden dat moet worden uitgevoerd', controleert u of in de Terminal-opdrachtprompt de verwachte locatie van de map TestProject wordt weergegeven. Bijvoorbeeld:
C:\Users\someuser\Desktop\csharpprojects\TestProject>U ziet nu de volgende uitvoer:
Floating point types: float : -3.402823E+38 to 3.402823E+38 (with ~6-9 digits of precision) double : -1.79769313486232E+308 to 1.79769313486232E+308 (with ~15-17 digits of precision) decimal: -79228162514264337593543950335 to 79228162514264337593543950335 (with 28-29 digits of precision)
Zoals u kunt zien en floatdouble een andere notatie gebruiken dan wordt decimal gebruikt om de grootste en kleinste mogelijke waarden weer te geven. Maar wat betekent deze notatie?
Grote waarden voor drijvende komma ontcijferen
Omdat typen drijvende komma grote getallen met precisie kunnen bevatten, kunnen hun waarden worden weergegeven met behulp van 'E-notatie', een vorm van wetenschappelijke notatie die betekent dat 'keer 10 verheven tot de macht van'. Een waarde zoals 5E+2 de waarde 500, omdat dit het equivalent is van 5 * 10^2 of 5 x 102.
Samenvatting
- Een drijvende-kommatype is een eenvoudig gegevenstype voor waarden dat fractionele getallen kan bevatten.
- Als u het juiste drijvendekommatype voor uw toepassing kiest, moet u rekening houden met meer dan alleen de maximum- en minimumwaarden die het kan bevatten. U moet ook rekening houden met het aantal waarden dat na het decimaalteken kan worden bewaard, hoe de getallen worden opgeslagen en hoe de interne opslag van invloed is op het resultaat van wiskundige bewerkingen.
- Waarden met drijvende komma kunnen soms worden weergegeven met E-notatie wanneer de getallen vooral groot worden.
- Er is een fundamenteel verschil in de manier waarop de compiler en runtime worden verwerkt
decimalin plaatsfloatvan ofdouble, met name wanneer wordt bepaald hoeveel nauwkeurigheid nodig is voor wiskundige bewerkingen.
Uw kennis controleren
Feedback
Is deze pagina nuttig?
No
Hulp nodig bij dit onderwerp?
Wilt u Ask Learn gebruiken om iets te verduidelijken of u door dit onderwerp te leiden?