Sette desimal presisjon på C -språk

Sette desimal presisjon på C -språk

Denne artikkelen vil vise deg hvordan du kan angi desimal presisjon på programmeringsspråk. Først vil vi definere presisjon, og deretter vil vi se på flere eksempler for å vise hvordan du setter desimal presisjon i C -programmering.

Desimal presisjon i c

Heltallstypevariabelen brukes normalt til å holde hele tallet og float -type variabel for å holde de reelle tallene med brøkdeler, for eksempel 2.449561 eller -1.0587. Presisjon bestemmer nøyaktigheten av de reelle tallene og er betegnet med prikken (.) symbol. Nøyaktigheten eller nøyaktigheten av reelle tall indikeres med antall sifre etter desimalpunktet. Så presisjon betyr antall sifre som er nevnt etter desimalpunktet i flottørnummeret. For eksempel tallet 2.449561 har presisjon seks og -1.058 har presisjon tre.

I henhold til IEEE-754-representasjon med en enkelt presisjon Floating Point, er det totalt 32 biter for å lagre det reelle antallet. Av de 32 bitene brukes den mest betydningsfulle biten som en skiltbit, følgende 8 biter brukes som eksponent, og følgende 23 biter brukes som en brøkdel.

Når det. Av de 64 bitene brukes den viktigste biten som en skiltbit, følgende 11 biter brukes som eksponent, og følgende 52 biter brukes som en brøkdel.

Når du skriver ut de reelle tallene, er det imidlertid nødvendig å spesifisere presisjonen (med andre ord, nøyaktighet) på det reelle tallet. Hvis presisjonen ikke er spesifisert, vil standard presisjon bli vurdert, i.e., Seks desimalsifre etter desimalpunktet. I de følgende eksemplene vil vi vise deg hvordan du spesifiserer presisjon når du skriver ut flytende punkttall på C-programmeringsspråket.

Eksempler

Nå som du har en grunnleggende forståelse av presisjon, la oss se på et par eksempler:

    1. Standard presisjon for float
    2. Standard presisjon for dobbelt
    3. Sett presisjon for float
    4. Angi presisjon for dobbelt

Eksempel 1: Standard presisjon for float

Dette eksemplet viser at standardpresisjonen er satt til seks sifre etter desimalpunktet. Vi har initialisert en floatvariabel med verdien 2.7 og trykte den uten eksplisitt å spesifisere presisjonen.

I dette tilfellet vil standard presisjonsinnstillingen sikre at seks sifre etter desimalpunktet er skrevet ut.

#inkludere
int main ()

FLOAT F = 2.7;
printf ("\ nvalue of f = %f \ n", f);
printf ("størrelse på float = %ld \ n", størrelse av (float));
retur 0;

Eksempel 2: Standard presisjon for dobbel

I dette eksemplet vil du se at standardpresisjonen er satt til seks sifre etter desimalpunktet for variabler med dobbel type. Vi har initialisert en dobbel variabel, jeg.e., D, med verdien 2.7 og trykte den uten å spesifisere presisjonen. I dette tilfellet vil standard presisjonsinnstillingen sikre at seks sifre etter desimalpunktet er skrevet ut.

#inkludere
int main ()

dobbel d = 2.7;
printf ("\ nvalue av d = %lf \ n", d);
printf ("størrelse på dobbel = %ld \ n", størrelse (dobbel));
retur 0;

Eksempel 3: Angi presisjon for float

Nå vil vi vise deg hvordan du kan angi presisjon for flyteverdier. Vi har initialisert en floatvariabel, jeg.e., f, med verdien 2.7, og trykte den med forskjellige presisjonsinnstillinger. Når vi nevner “%0.4f ”I Printf -setningen indikerer dette at vi er interessert i å skrive ut fire sifre etter desimalpunktet.

#inkludere
int main ()

FLOAT F = 2.7;
/ * Sett presisjon for floatvariabel */
printf ("\ nvalue of f (presisjon = 0.1) = %0.1f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.2) = %0.2f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.3) = %0.3f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.4) = %0.4f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.22) = %0.22f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.23) = %0.23f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.24) = %0.24f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.25) = %0.25f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.40) = %0.40f \ n ", f);
printf ("størrelse på float = %ld \ n", størrelse av (float));
retur 0;

Eksempel 4: Angi presisjon for dobbelt

I dette eksemplet vil vi se hvordan du kan angi presisjon for doble verdier. Vi har initialisert en dobbel variabel, jeg.e., D, med verdien 2.7 og trykte den med forskjellige presisjonsinnstillinger. Når vi nevner “%0.52F ”I Printf -setningen indikerer dette at vi er interessert i å skrive ut 52 sifre etter desimalpunktet.

#inkludere
int main ()

FLOAT F = 2.7;
/ * Sett presisjon for floatvariabel */
printf ("\ nvalue of f (presisjon = 0.1) = %0.1f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.2) = %0.2f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.3) = %0.3f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.4) = %0.4f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.22) = %0.22f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.23) = %0.23f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.24) = %0.24f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.25) = %0.25f \ n ", f);
printf ("\ nvalue of f (presisjon = 0.40) = %0.40f \ n ", f);
printf ("størrelse på float = %ld \ n", størrelse av (float));
retur 0;

Konklusjon

Presisjon er en veldig viktig faktor for å representere et reelt tall med tilstrekkelig nøyaktighet. C -programmeringsspråket gir mekanismen for å kontrollere nøyaktigheten eller nøyaktigheten til et reelt tall. Vi kan imidlertid ikke endre den faktiske presisjonen til det reelle antallet. For eksempel er den brøkdelte delen av et 32-bits en-presisjon flytende punktnummer representert med 23 biter, og dette er løst; Vi kan ikke endre dette for et bestemt system. Vi kan bare bestemme hvor mye nøyaktighet vi ønsker ved å sette ønsket presisjon av det reelle tallet. Hvis vi trenger mer nøyaktighet, kan vi alltid bruke 64-biters dobbeltpresisjon flytende punktnummer.