Šis raksts parādīs, kā iestatīt decimālo precizitāti C programmēšanas valodā. Pirmkārt, mēs definēsim precizitāti un pēc tam aplūkosim vairākus piemērus, lai parādītu, kā iestatīt decimālo precizitāti C programmēšanā.
Decimālā precizitāte C
Vesela skaitļa mainīgo parasti izmanto, lai turētu veselu skaitli, un pludiņa tipa mainīgo, lai turētu reālos skaitļus ar daļām, piemēram, 2.449561 vai -1.0587. Precizitāte nosaka reālo skaitļu precizitāti, un to apzīmē ar punktu (.) simbols. Reālo skaitļu precizitāti vai precizitāti norāda ciparu skaits aiz komata. Precizitāte nozīmē ciparu skaitu, kas minēts aiz komata ar pludiņa skaitli. Piemēram, skaitlis 2.449561 ir sešas precizitātes un -1.058 ir trīs precizitāte.
Saskaņā ar IEEE-754 vienas precizitātes peldošā komata attēlojumu, reālā skaitļa glabāšanai kopā ir 32 biti. No 32 bitiem vissvarīgākais bits tiek izmantots kā zīmes bits, nākamie 8 biti tiek izmantoti kā eksponents un nākamie 23 biti tiek izmantoti kā daļa.
IEEE-754 dubultprecizitātes peldošā komata attēlojuma gadījumā kopā ir 64 biti, lai saglabātu reālo skaitli. No 64 bitiem vissvarīgākais bits tiek izmantots kā zīmes bits, šādi 11 biti tiek izmantoti kā eksponents, un nākamie 52 biti tiek izmantoti kā daļa.
Tomēr, drukājot reālos skaitļus, ir jānorāda reālā skaitļa precizitāte (citiem vārdiem sakot, precizitāte). Ja precizitāte nav norādīta, tiks ņemta vērā noklusējuma precizitāte, t.e., seši cipari aiz komata aiz komata. Turpmākajos piemēros mēs parādīsim, kā norādīt precizitāti, drukājot peldošo punktu numurus C programmēšanas valodā.
Piemēri
Tagad, kad jums ir pamata izpratne par precizitāti, apskatīsim pāris piemērus:
-
- Noklusējuma precizitāte pludiņam
- Noklusējuma precizitāte dubultā
- Iestatiet pludiņa precizitāti
- Iestatiet precizitāti dubultā
1. piemērs: Pludiņa noklusējuma precizitāte
Šis piemērs parāda, ka noklusējuma precizitāte ir iestatīta uz sešiem cipariem aiz komata. Mēs esam inicializējuši peldošo mainīgo ar vērtību 2.7 un izdrukāja, precīzi nenorādot precizitāti.
Šajā gadījumā noklusējuma precizitātes iestatījums nodrošinās sešu ciparu aiz komata izdrukāšanu.
# iekļautint main ()
pludiņš f = 2.7;
printf ("\ nVērtība f =% f \ n", f);
printf ("Pludiņa izmērs =% ld \ n", sizeof (pludiņš));
atgriešanās 0;
2. piemērs: noklusējuma precizitāte Double
Šajā piemērā redzēsit, ka dubultā tipa mainīgo noklusējuma precizitāte ir iestatīta uz sešiem cipariem aiz komata. Mēs esam inicializējuši dubultu mainīgo, t.i.e., d ar vērtību 2.7 un izdrukāja, nenorādot precizitāti. Šajā gadījumā noklusējuma precizitātes iestatījums nodrošinās sešu ciparu aiz komata izdrukāšanu.
# iekļautint main ()
dubultā d = 2.7;
printf ("\ nVērtība d =% lf \ n", d);
printf ("Double izmērs =% ld \ n", sizeof (double) lielums);
atgriešanās 0;
3. piemērs: iestatiet pludiņa precizitāti
Tagad mēs parādīsim, kā iestatīt pludiņa vērtību precizitāti. Mēs esam inicializējuši peldošo mainīgo, t.i.e., f, ar vērtību 2.7 un izdrukāja to ar dažādiem precizitātes iestatījumiem. Kad mēs pieminam “% 0.4f ”paziņojumā printf tas norāda, ka esam ieinteresēti izdrukāt četrus ciparus aiz komata.
# iekļautint main ()
pludiņš f = 2.7;
/ * iestatiet pludiņa mainīgā precizitāti * /
printf ("\ nVērtība f (precizitāte = 0.1) =% 0.1f \ n ", f);
printf ("\ nf vērtība (precizitāte = 0.2) =% 0.2f \ n ", f);
printf ("\ nf vērtība (precizitāte = 0.3) =% 0.3f \ n ", f);
printf ("\ nVērtība f (precizitāte = 0.4) =% 0.4f \ n ", f);
printf ("\ nVērtība f (precizitāte = 0.22) =% 0.22f \ n ", f);
printf ("\ nf vērtība (precizitāte = 0.23) =% 0.23f \ n ", f);
printf ("\ nf vērtība (precizitāte = 0.24) =% 0.24f \ n ", f);
printf ("\ nf vērtība (precizitāte = 0.25) =% 0.25f \ n ", f);
printf ("\ nf vērtība (precizitāte = 0.40) =% 0.40f \ n ", f);
printf ("Pludiņa izmērs =% ld \ n", sizeof (pludiņš));
atgriešanās 0;
4. piemērs: iestatiet precizitāti Double
Šajā piemērā mēs redzēsim, kā iestatīt precizitāti dubultvērtībām. Mēs esam inicializējuši dubultu mainīgo, t.i.e., d ar vērtību 2.7 un izdrukāja to ar dažādiem precizitātes iestatījumiem. Kad mēs pieminam “% 0.52f ”paziņojumā printf tas norāda, ka esam ieinteresēti izdrukāt 52 ciparus aiz komata.
# iekļautint main ()
pludiņš f = 2.7;
/ * iestatiet pludiņa mainīgā precizitāti * /
printf ("\ nVērtība f (precizitāte = 0.1) =% 0.1f \ n ", f);
printf ("\ nVērtība f (precizitāte = 0.2) =% 0.2f \ n ", f);
printf ("\ nVērtība f (precizitāte = 0.3) =% 0.3f \ n ", f);
printf ("\ nVērtība f (precizitāte = 0.4) =% 0.4f \ n ", f);
printf ("\ nf vērtība (precizitāte = 0.22) =% 0.22f \ n ", f);
printf ("\ nf vērtība (precizitāte = 0.23) =% 0.23f \ n ", f);
printf ("\ nf vērtība (precizitāte = 0.24) =% 0.24f \ n ", f);
printf ("\ nVērtība f (precizitāte = 0.25) =% 0.25f \ n ", f);
printf ("\ nf vērtība (precizitāte = 0.40) =% 0.40f \ n ", f);
printf ("Pludiņa izmērs =% ld \ n", sizeof (pludiņš));
atgriešanās 0;
Secinājums
Precizitāte ir ļoti svarīgs faktors, lai reālu skaitli attēlotu ar pietiekamu precizitāti. C programmēšanas valoda nodrošina mehānismu reālā skaitļa precizitātes vai precizitātes kontrolei. Tomēr mēs nevaram mainīt reālā skaitļa faktisko precizitāti. Piemēram, 32 bitu vienas precizitātes peldošā komata skaitļa daļa tiek attēlota ar 23 bitiem, un tas ir fiksēts; mēs to nevaram mainīt konkrētai sistēmai. Mēs varam izlemt, cik lielu precizitāti vēlamies, tikai nosakot vēlamo reālā skaitļa precizitāti. Ja mums nepieciešama lielāka precizitāte, mēs vienmēr varam izmantot 64 bitu dubultprecīzu peldošā komata skaitli.