C Programmēšana

Decimālās precizitātes iestatīšana C valodā

Decimālās precizitātes iestatīšana C valodā

Š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:

    1. Noklusējuma precizitāte pludiņam
    2. Noklusējuma precizitāte dubultā
    3. Iestatiet pludiņa precizitāti
    4. 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ļaut
int 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ļaut
int 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ļaut
int 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ļaut
int 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.

Kā lejupielādēt un atskaņot Sid Meier Civilization VI operētājsistēmā Linux
Ievads spēlē Civilization 6 ir mūsdienīga klasiskā koncepcija, kas ieviesta Age of Empires spēļu sērijā. Ideja bija diezgan vienkārša; jūs sāktu pašā ...
Kā instalēt un spēlēt Doom uz Linux
Ievads liktenī Doom sērija radās 90. gados pēc sākotnējā Doom izlaišanas. Tas bija tūlītējs hīts, un kopš tā laika spēļu sērija ir saņēmusi daudzas ba...
Vulkan Linux lietotājiem
Ar katru jauno grafisko karšu paaudzi mēs redzam, kā spēļu izstrādātāji pārspēj grafiskās uzticamības robežas un tuvojas fotoreālismam. Neskatoties uz...