C Programmering

Indstilling af decimalpræcision i C-sprog

Indstilling af decimalpræcision i C-sprog

Denne artikel viser dig, hvordan du indstiller decimalpræcision i C-programmeringssprog. Først definerer vi præcision, og derefter vil vi se på flere eksempler for at vise, hvordan man indstiller decimalpræcision i C-programmering.

Decimal præcision i C

Heltalstypevariablen bruges normalt til at holde hele tallet og flydestypevariablen til at holde de reelle tal med brøkdele, for eksempel 2.449561 eller -1.0587. Præcision bestemmer nøjagtigheden af ​​de reelle tal og betegnes med prikken (.) symbol. Nøjagtigheden eller nøjagtigheden af ​​reelle tal er angivet med antallet af cifre efter decimaltegnet. Så præcision betyder det antal cifre, der er nævnt efter decimaltegnet i float-nummeret. For eksempel tallet 2.449561 har præcision seks og -1.058 har præcision tre.

I henhold til IEEE-754 repræsentation af flydepunkter med en enkelt præcision er der i alt 32 bit til at gemme det reelle antal. Af de 32 bits bruges den mest betydningsfulde bit som en tegnbit, de følgende 8 bits bruges som en eksponent, og de følgende 23 bits bruges som en brøkdel.

I tilfælde af IEEE-754 repræsentation af flydepunkter med dobbelt præcision er der i alt 64 bit til at gemme det reelle antal. Af de 64 bit bruges den mest betydningsfulde bit som en tegnbit, de følgende 11 bits bruges som en eksponent, og de følgende 52 bits bruges som en brøkdel.

Ved udskrivning af de reelle tal er det dog nødvendigt at specificere præcisionen (med andre ord nøjagtigheden) for det reelle tal. Hvis præcisionen ikke er specificeret, vil standardpræcisionen blive overvejet, dvs.e., seks decimaler efter decimaltegnet. I de følgende eksempler viser vi dig, hvordan du specificerer præcision, når du udskriver flydende numre på C-programmeringssproget.

Eksempler

Nu hvor du har en grundlæggende forståelse af præcision, lad os se på et par eksempler:

    1. Standardpræcision for float
    2. Standardpræcision for dobbelt
    3. Indstil præcision til float
    4. Indstil præcision til dobbelt

Eksempel 1: Standardpræcision for flyde

Dette eksempel viser, at standardpræcisionen er indstillet til seks cifre efter decimaltegnet. Vi har initialiseret en float-variabel med værdien 2.7 og udskrev den uden eksplicit at specificere præcisionen.

I dette tilfælde vil standardpræcisionsindstillingen sikre, at der udskrives seks cifre efter decimaltegnet.

#omfatte
int main ()

flyde f = 2.7;
printf ("\ nVærdi af f =% f \ n", f);
printf ("floatstørrelse =% ld \ n", sizeof (float));
returnere 0;

Eksempel 2: Standardpræcision for dobbelt

I dette eksempel vil du se, at standardpræcisionen er indstillet til seks cifre efter decimaltegnet for dobbeltvariabler. Vi har initialiseret en dobbelt variabel, dvs.e., d, med værdien 2.7 og trykte den uden at specificere præcisionen. I dette tilfælde vil standardpræcisionsindstillingen sikre, at der udskrives seks cifre efter decimaltegnet.

#omfatte
int main ()

dobbelt d = 2.7;
printf ("\ nVærdi af d =% lf \ n", d);
printf ("Størrelse på dobbelt =% ld \ n", størrelse på (dobbelt));
returnere 0;

Eksempel 3: Indstil præcision for flyde

Nu viser vi dig, hvordan du indstiller præcision for floatværdier. Vi har initialiseret en float-variabel, i.e., f, med værdien 2.7 og trykte den med forskellige præcisionsindstillinger. Når vi nævner “% 0.4f ”i printf-udsagnet, indikerer dette, at vi er interesserede i at udskrive fire cifre efter decimaltegnet.

#omfatte
int main ()

flyde f = 2.7;
/ * indstil præcision for flydevariabel * /
printf ("\ nVærdi af f (præcision = 0.1) =% 0.1f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.2) =% 0.2f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.3) =% 0.3f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.4) =% 0.4f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.22) =% 0.22f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.23) =% 0.23f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.24) =% 0.24f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.25) =% 0.25f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.40) =% 0.40f \ n ", f);
printf ("Størrelse af flyde =% ld \ n", størrelse af (flyde));
returnere 0;

Eksempel 4: Indstil præcision til dobbelt

I dette eksempel vil vi se, hvordan du indstiller præcision for dobbeltværdier. Vi har initialiseret en dobbelt variabel, dvs.e., d, med værdien 2.7 og udskrev den med forskellige præcisionsindstillinger. Når vi nævner “% 0.52f ”i printf-udsagnet, indikerer dette, at vi er interesserede i at udskrive 52 cifre efter decimaltegnet.

#omfatte
int main ()

flyde f = 2.7;
/ * indstil præcision for flydevariabel * /
printf ("\ nVærdi af f (præcision = 0.1) =% 0.1f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.2) =% 0.2f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.3) =% 0.3f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.4) =% 0.4f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.22) =% 0.22f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.23) =% 0.23f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.24) =% 0.24f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.25) =% 0.25f \ n ", f);
printf ("\ nVærdi af f (præcision = 0.40) =% 0.40f \ n ", f);
printf ("Størrelse af flyde =% ld \ n", størrelse af (flyde));
returnere 0;

Konklusion

Præcision er en meget vigtig faktor for at repræsentere et reelt tal med tilstrækkelig nøjagtighed. Programmeringssproget c giver mekanismen til at kontrollere nøjagtigheden eller nøjagtigheden af ​​et reelt tal. Vi kan dog ikke ændre den faktiske præcision af det reelle tal. For eksempel er brøkdelen af ​​et 32-bit flydepunktsnummer med en enkelt præcision repræsenteret af 23 bit, og dette er fast; vi kan ikke ændre dette for et bestemt system. Vi kan kun beslutte, hvor meget nøjagtighed vi ønsker ved at indstille den ønskede præcision for det reelle tal. Hvis vi har brug for mere nøjagtighed, kan vi altid bruge 64-bit flydepunktsnummer med dobbelt præcision.

Bedste spilkonsolemulatorer til Linux
Denne artikel viser en liste over populære spilkonsolemuleringssoftware, der er tilgængelig til Linux. Emulation er et softwarekompatibilitetslag, der...
Bedste Linux Distros til spil i 2021
Linux-operativsystemet er kommet langt fra dets originale, enkle, serverbaserede udseende. Dette operativsystem er forbedret enormt i de senere år og ...
Sådan registreres og streames din gaming-session på Linux
Tidligere blev spil kun betragtet som en hobby, men med tiden oplevede spilindustrien en enorm vækst med hensyn til teknologi og antallet af spillere....