Tento článek vám ukáže, jak nastavit desítkovou přesnost v programovacím jazyce C. Nejprve definujeme přesnost a poté se podíváme na několik příkladů, abychom ukázali, jak nastavit desítkovou přesnost v programování C.
Desetinná přesnost v C
Proměnná typu celé číslo se běžně používá k uložení celého čísla a proměnná typu float k uložení reálných čísel s zlomkovými částmi, například 2.449561 nebo -1.0587. Přesnost určuje přesnost reálných čísel a je označena tečkou (.). Přesnost nebo přesnost reálných čísel je indikována počtem číslic za desetinnou čárkou. Přesnost tedy znamená počet číslic zmíněných za desetinnou čárkou v desetinném čísle. Například číslo 2.449561 má přesnost šest a -1.058 má přesnost tři.
Podle vyjádření s plovoucí desetinnou čárkou s jednou přesností IEEE-754 existuje celkem 32 bitů pro uložení reálného čísla. Z 32 bitů je nejvýznamnější bit použit jako znakový bit, následujících 8 bitů je použito jako exponent a následujících 23 bitů je použito jako zlomek.
V případě reprezentace plovoucí desetinné čárky s dvojitou přesností IEEE-754 existuje celkem 64 bitů pro uložení reálného čísla. Z 64 bitů je nejvýznamnější bit použit jako znakový bit, následujících 11 bitů je použito jako exponent a následujících 52 bitů je použito jako zlomek.
Při tisku reálných čísel je však nutné určit přesnost (jinými slovy přesnost) reálného čísla. Pokud není zadána přesnost, bude brána v úvahu výchozí přesnost, tj.E., šest desetinných míst za desetinnou čárkou. V následujících příkladech vám ukážeme, jak určit přesnost při tisku čísel s plovoucí desetinnou čárkou v programovacím jazyce C.
Příklady
Nyní, když máte základní znalosti přesnosti, se podívejme na několik příkladů:
-
- Výchozí přesnost pro float
- Výchozí přesnost pro dvojnásobek
- Nastavte přesnost pro plovák
- Nastavte přesnost na dvojnásobek
Příklad 1: Výchozí přesnost pro Float
Tento příklad ukazuje, že výchozí přesnost je nastavena na šest číslic za desetinnou čárkou. Inicializovali jsme float proměnnou s hodnotou 2.7 a vytiskl jej bez výslovného určení přesnosti.
V takovém případě výchozí nastavení přesnosti zajistí vytištění šesti číslic za desetinnou čárkou.
#zahrnoutint main ()
float f = 2.7;
printf ("\ nHodnota f =% f \ n", f);
printf ("Velikost float =% ld \ n", sizeof (float));
návrat 0;
Příklad 2: Výchozí přesnost pro Double
V tomto příkladu uvidíte, že výchozí přesnost je nastavena na šest číslic za desetinnou čárkou pro proměnné typu double. Inicializovali jsme dvojitou proměnnou, tj.E., d, s hodnotou 2.7 a vytiskli jej bez zadání přesnosti. V takovém případě výchozí nastavení přesnosti zajistí vytištění šesti číslic za desetinnou čárkou.
#zahrnoutint main ()
dvojité d = 2.7;
printf ("\ nHodnota d =% lf \ n", d);
printf ("Velikost double =% ld \ n", sizeof (double));
návrat 0;
Příklad 3: Nastavit přesnost pro Float
Nyní vám ukážeme, jak nastavit přesnost pro plovoucí hodnoty. Inicializovali jsme float proměnnou, tj.E., f, s hodnotou 2.7 a vytiskli jej s různým nastavením přesnosti. Když zmíníme „% 0.4f ”v příkazu printf, to znamená, že máme zájem o tisk čtyř číslic za desetinnou čárkou.
#zahrnoutint main ()
float f = 2.7;
/ * nastavit přesnost pro proměnnou float * /
printf ("\ nHodnota f (přesnost = 0.1) =% 0.1f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.2) =% 0.2f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.3) =% 0.3f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.4) =% 0.4f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.22) =% 0.22f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.23) =% 0.23f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.24) =% 0.24f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.25) =% 0.25f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.40) =% 0.40f \ n ", f);
printf ("Velikost float =% ld \ n", sizeof (float));
návrat 0;
Příklad 4: Nastavte Precision pro Double
V tomto příkladu uvidíme, jak nastavit přesnost pro dvojité hodnoty. Inicializovali jsme dvojitou proměnnou, tj.E., d, s hodnotou 2.7 a vytiskl jej s různým nastavením přesnosti. Když zmíníme „% 0.52f “v příkazu printf, to znamená, že máme zájem o tisk 52 číslic za desetinnou čárkou.
#zahrnoutint main ()
float f = 2.7;
/ * nastavit přesnost pro proměnnou float * /
printf ("\ nHodnota f (přesnost = 0.1) =% 0.1f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.2) =% 0.2f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.3) =% 0.3f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.4) =% 0.4f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.22) =% 0.22f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.23) =% 0.23f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.24) =% 0.24f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.25) =% 0.25f \ n ", f);
printf ("\ nHodnota f (přesnost = 0.40) =% 0.40f \ n ", f);
printf ("Velikost float =% ld \ n", sizeof (float));
návrat 0;
Závěr
Přesnost je velmi důležitým faktorem pro reprezentaci reálného čísla s dostatečnou přesností. Programovací jazyk c poskytuje mechanismus pro řízení přesnosti nebo přesnosti reálného čísla. Skutečnou přesnost reálného čísla však nemůžeme změnit. Například zlomková část 32bitového čísla s plovoucí desetinnou čárkou s jednoduchou přesností je reprezentována 23 bity a je pevná; nemůžeme to změnit pro konkrétní systém. Můžeme se rozhodnout, kolik přesnosti chceme, nastavením požadované přesnosti reálného čísla. Pokud potřebujeme větší přesnost, můžeme vždy použít 64bitové číslo s plovoucí desetinnou čárkou s dvojitou přesností.