C Programmering

Ställa in decimal precision i C-språk

Ställa in decimal precision i C-språk

Den här artikeln visar dig hur du ställer in decimalprecision i C-programmeringsspråk. Först kommer vi att definiera precision, och sedan kommer vi att titta på flera exempel för att visa hur man ställer in decimalprecision i C-programmering.

Decimal precision i C

Variabeln av heltalstyp används vanligtvis för att hålla hela talet och flyttypsvariabel för att hålla de verkliga siffrorna med bråkdelar, till exempel 2.449561 eller -1.0587. Precision bestämmer noggrannheten för de verkliga siffrorna och betecknas med punkten (.) symbol. Exaktheten eller noggrannheten för reella tal indikeras av antalet siffror efter decimaltecken. Precision betyder alltså antalet siffror som nämns efter decimaltecknet i flottörnumret. Till exempel siffran 2.449561 har precision sex och -1.058 har precision tre.

Enligt IEEE-754 representation av en punkt med flytande punkt, finns det totalt 32 bitar för att lagra det verkliga antalet. Av de 32 bitarna används den viktigaste biten som en teckenbit, följande 8 bitar används som en exponent och följande 23 bitar används som en bråkdel.

När det gäller IEEE-754 flytande punktrepresentation med dubbel precision finns det totalt 64 bitar för att lagra det verkliga antalet. Av de 64 bitarna används den viktigaste biten som en teckenbit, följande 11 bitar används som en exponent och följande 52 bitar används som en bråkdel.

När du skriver ut de reella siffrorna är det dock nödvändigt att ange precisionen (med andra ord noggrannhet) för det verkliga numret. Om precisionen inte anges kommer standardprecisionen att beaktas, dvs.e., sex decimaler efter decimaltecken. I följande exempel visar vi dig hur du anger precision när du skriver ut flytpunktsnummer i C-programmeringsspråket.

Exempel

Nu när du har en grundläggande förståelse för precision, låt oss titta på några exempel:

    1. Standardprecision för flottör
    2. Standardprecision för dubbel
    3. Ställ in precision för flottör
    4. Ställ in precision för dubbel

Exempel 1: Standardprecision för flytande

Det här exemplet visar att standardprecisionen är inställd på sex siffror efter decimal. Vi har initialiserat en flytvariabel med värdet 2.7 och tryckte den utan att specifikt specificera precisionen.

I detta fall kommer standardinställningen för precision att säkerställa att sex siffror efter decimaltecknet skrivs ut.

#omfatta
int main ()

flottör f = 2.7;
printf ("\ nVärde för f =% f \ n", f);
printf ("Storlek på flottör =% ld \ n", storlek på (flottör));
returnera 0;

Exempel 2: Standardprecision för dubbel

I det här exemplet ser du att standardprecisionen är inställd på sex siffror efter decimaltecken för variabler med dubbel typ. Vi har initialiserat en dubbel variabel, dvs.e., d, med värdet 2.7 och skrev ut den utan att specificera precisionen. I detta fall kommer standardinställningen för precision att säkerställa att sex siffror efter decimaltecknet skrivs ut.

#omfatta
int main ()

dubbel d = 2.7;
printf ("\ nVärde för d =% lf \ n", d);
printf ("Storlek på dubbel =% ld \ n", storlek på (dubbel));
returnera 0;

Exempel 3: Ställ in precision för flyt

Nu visar vi dig hur du ställer in precision för flottörvärden. Vi har initialiserat en flytvariabel, dvs.e., f, med värdet 2.7 och tryckte den med olika precisionsinställningar. När vi nämner “% 0.4f ”i printf-uttalandet, indikerar detta att vi är intresserade av att skriva ut fyra siffror efter decimal.

#omfatta
int main ()

flottör f = 2.7;
/ * ställa in precision för flottörvariabel * /
printf ("\ nVärde för f (precision = 0.1) =% 0.1f \ n ", f);
printf ("\ nVärde för f (precision = 0.2) =% 0.2f \ n ", f);
printf ("\ nVärde för f (precision = 0.3) =% 0.3f \ n ", f);
printf ("\ nVärde för f (precision = 0.4) =% 0.4f \ n ", f);
printf ("\ nVärde för f (precision = 0.22) =% 0.22f \ n ", f);
printf ("\ nVärde för f (precision = 0.23) =% 0.23f \ n ", f);
printf ("\ nVärde för f (precision = 0.24) =% 0.24f \ n ", f);
printf ("\ nVärde för f (precision = 0.25) =% 0.25f \ n ", f);
printf ("\ nVärde för f (precision = 0.40) =% 0.40f \ n ", f);
printf ("Storlek på flottör =% ld \ n", storlek på (flottör));
returnera 0;

Exempel 4: Ställ in precision för dubbel

I det här exemplet kommer vi att se hur man ställer in precision för dubbla värden. Vi har initierat en dubbel variabel, dvs.e., d, med värdet 2.7 och skrev ut den med olika precisionsinställningar. När vi nämner “% 0.52f ”i printf-uttalandet, indikerar detta att vi är intresserade av att skriva ut 52 siffror efter decimaltecken.

#omfatta
int main ()

flottör f = 2.7;
/ * ställa in precision för flottörvariabel * /
printf ("\ nVärde för f (precision = 0.1) =% 0.1f \ n ", f);
printf ("\ nVärde för f (precision = 0.2) =% 0.2f \ n ", f);
printf ("\ nVärde för f (precision = 0.3) =% 0.3f \ n ", f);
printf ("\ nVärde för f (precision = 0.4) =% 0.4f \ n ", f);
printf ("\ nVärde för f (precision = 0.22) =% 0.22f \ n ", f);
printf ("\ nVärde för f (precision = 0.23) =% 0.23f \ n ", f);
printf ("\ nVärde för f (precision = 0.24) =% 0.24f \ n ", f);
printf ("\ nVärde för f (precision = 0.25) =% 0.25f \ n ", f);
printf ("\ nVärde för f (precision = 0.40) =% 0.40f \ n ", f);
printf ("Storlek på float =% ld \ n", sizeof (float));
returnera 0;

Slutsats

Precision är en mycket viktig faktor för att representera ett reellt tal med tillräcklig noggrannhet. Programmeringsspråket c tillhandahåller mekanismen för att kontrollera noggrannheten eller exaktheten av ett reellt tal. Vi kan dock inte ändra den verkliga precisionen för det verkliga talet. Till exempel representeras bråkdelen av ett 32-bitars flytpunktsnummer med en enda precision av 23 bitar, och detta fixeras; vi kan inte ändra detta för ett visst system. Vi kan bara bestämma hur mycket noggrannhet vi vill genom att ställa in önskad precision för det verkliga talet. Om vi ​​behöver mer noggrannhet kan vi alltid använda 64-bitars flytpunktsnummer med dubbel precision.

Mus Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
De flesta Linux-distributioner levereras med "libinput" -bibliotek som standard för att hantera inmatningshändelser i ett system. Den kan bearbeta inm...
Mus Omforma dina musknappar på olika sätt för olika program med X-Mouse Button Control
Omforma dina musknappar på olika sätt för olika program med X-Mouse Button Control
Kanske behöver du ett verktyg som kan göra att musens kontroll ändras med alla applikationer som du använder. Om så är fallet kan du prova en ansökan ...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jag har nyligen läst om Microsoft Sculpt Touch trådlös mus och bestämde mig för att köpa den. Efter att ha använt den ett tag bestämde jag mig för att...