C programavimas

Dešimtainio tikslumo nustatymas C kalba

Dešimtainio tikslumo nustatymas C kalba

Šis straipsnis parodys, kaip nustatyti dešimtainį tikslumą C programavimo kalba. Pirma, mes apibrėžsime tikslumą, tada mes išnagrinėsime kelis pavyzdžius, kad parodytume, kaip nustatyti dešimtainį tikslumą programuojant C.

Dešimtainis tikslumas C

Sveiko skaičiaus kintamasis paprastai naudojamas visam skaičiui laikyti, o „float“ tipo kintamasis - tikriesiems skaičiams su trupmeninėmis dalimis laikyti, pavyzdžiui, 2.449561 arba -1.0587. Tikslumas nustato tikrųjų skaičių tikslumą ir žymimas tašku (.) simbolis. Tikrųjų skaičių tikslumas arba tikslumas nurodomas skaitmenų skaičiumi po kablelio. Taigi, tikslumas reiškia skaitmenų skaičių, minimą po kablelio plūduriuojančiame skaičiuje. Pavyzdžiui, skaičius 2.449561 turi šeštą tikslumą ir -1.058 turi tris tikslumus.

Pagal IEEE-754 vieno tikslumo slankiojo kablelio vaizdą iš viso yra 32 bitai, kad būtų išsaugotas tikrasis skaičius. Iš 32 bitų reikšmingiausias bitas naudojamas kaip ženklo bitas, šie 8 bitai naudojami kaip rodiklis, o šie 23 bitai naudojami kaip dalis.

IEEE-754 dvigubo tikslumo slankiojo kablelio vaizdavimo atveju iš viso yra 64 bitai, kad būtų išsaugotas tikrasis skaičius. Iš 64 bitų reikšmingiausias bitas naudojamas kaip ženklo bitas, šie 11 bitų naudojami kaip rodiklis, o šie 52 bitai naudojami kaip dalis.

Tačiau spausdinant tikruosius skaičius būtina nurodyti tikrojo skaičiaus tikslumą (kitaip tariant, tikslumą). Jei tikslumas nenurodytas, bus atsižvelgiama į numatytąjį tikslumą, t.e., šeši skaitmenys po kablelio po kablelio. Toliau pateiktuose pavyzdžiuose parodysime, kaip nurodyti tikslumą spausdinant slankiojo kablelio skaičius C programavimo kalba.

Pavyzdžiai

Dabar, kai suprantate tikslumą, pažiūrėkime į keletą pavyzdžių:

    1. Numatytasis plūdės tikslumas
    2. Numatytasis tikslumas dvigubai
    3. Nustatykite plūdės tikslumą
    4. Nustatykite tikslumą dvigubai

1 pavyzdys: Numatytasis plūdės tikslumas

Šis pavyzdys rodo, kad numatytasis tikslumas yra nustatytas po šešis skaitmenis po kablelio. Inicijavome plūduriuojantį kintamąjį, kurio vertė 2.7 ir atspausdino, tiksliai nenurodydamas tikslumo.

Tokiu atveju numatytasis tikslumo nustatymas užtikrins, kad po dešimtainio kablelio bus atspausdinti šeši skaitmenys.

# įtraukti
int main ()

plūdė f = 2.7;
printf ("\ nf =% f \ n reikšmė", f);
printf ("Plūdės dydis =% ld \ n", dydis (plūdė));
grąžinti 0;

2 pavyzdys: numatytasis tikslumas dvigubai

Šiame pavyzdyje pamatysite, kad dvigubo tipo kintamųjų numatytasis tikslumas yra šeši skaitmenys po kablelio. Inicijavome dvigubą kintamąjį, t.e., d, kurio vertė 2.7 ir atspausdino nenurodydamas tikslumo. Tokiu atveju numatytasis tikslumo nustatymas užtikrins, kad po dešimtainio kablelio bus atspausdinti šeši skaitmenys.

# įtraukti
int main ()

dvigubas d = 2.7;
printf ("\ nDydžio reikšmė =% lf \ n", d);
printf ("Dvigubo dydis =% ld \ n", dydisof (dvigubas));
grąžinti 0;

3 pavyzdys: nustatykite plūduriavimo tikslumą

Dabar parodysime, kaip nustatyti plūduriuojančių verčių tikslumą. Inicijavome plūduriuojantį kintamąjį, t.e., f, kurio vertė 2.7 ir atspausdino jį įvairiais tikslumo nustatymais. Kai paminėsime „% 0.4f “pareiškime printf tai rodo, kad esame suinteresuoti spausdinti keturis skaitmenis po kablelio.

# įtraukti
int main ()

plūdė f = 2.7;
/ * nustatykite plūduriuojančio kintamojo tikslumą * /
printf ("\ nf reikšmė (tikslumas = 0.1) =% 0.1f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.2) =% 0.2f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.3) =% 0.3f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.4) =% 0.4f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.22) =% 0.22f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.23) =% 0.23f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.24) =% 0.24f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.25) =% 0.25f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.40) =% 0.40f \ n ", f);
printf ("Plūdės dydis =% ld \ n", dydis (plūdė));
grąžinti 0;

4 pavyzdys: nustatykite tikslumą dvigubai

Šiame pavyzdyje pamatysime, kaip nustatyti tikslumą dviguboms reikšmėms. Inicijavome dvigubą kintamąjį, t.e., d, kurio vertė 2.7 ir atspausdino jį įvairiais tikslumo nustatymais. Kai paminėsime „% 0.52f “pareiškime„ printf “tai rodo, kad esame suinteresuoti spausdinti 52 skaitmenis po kablelio.

# įtraukti
int main ()

plūdė f = 2.7;
/ * nustatykite plūduriuojančio kintamojo tikslumą * /
printf ("\ nf reikšmė (tikslumas = 0.1) =% 0.1f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.2) =% 0.2f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.3) =% 0.3f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.4) =% 0.4f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.22) =% 0.22f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.23) =% 0.23f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.24) =% 0.24f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.25) =% 0.25f \ n ", f);
printf ("\ nf reikšmė (tikslumas = 0.40) =% 0.40f \ n ", f);
printf ("Plūdės dydis =% ld \ n", dydis (plūdė));
grąžinti 0;

Išvada

Tikslumas yra labai svarbus veiksnys, nurodantis realų skaičių tinkamu tikslumu. C programavimo kalba suteikia tikrojo skaičiaus tikslumo ar tikslumo kontrolės mechanizmą. Tačiau mes negalime pakeisti tikrojo skaičiaus tikslumo. Pvz., 32 bitų vieno tikslumo slankiojo kablelio skaičiaus dalį sudaro 23 bitai, ir tai yra fiksuota; mes negalime to pakeisti konkrečiai sistemai. Kiek tikslumo norime, galime nuspręsti tik nustatę norimą tikrojo skaičiaus tikslumą. Jei mums reikia daugiau tikslumo, visada galime naudoti 64 bitų dvigubo tikslumo slankiojo kablelio skaičių.

Kaip sukurti žaidimą „Linux“
Prieš dešimtmetį nedaugelis „Linux“ vartotojų numatė, kad jų mėgstama operacinė sistema vieną dieną bus populiari komercinių vaizdo žaidimų žaidimų pl...
Atvirojo kodo komercinių žaidimų variklių uostai
Nemokami atvirojo kodo ir įvairių platformų žaidimų varikliai gali būti naudojami žaidžiant senus ir kai kuriuos gana naujus žaidimų pavadinimus. Šiam...
Geriausi „Linux“ komandinės eilutės žaidimai
Komandų eilutė yra ne tik jūsų didžiausias sąjungininkas naudojant „Linux“, bet ir pramogų šaltinis, nes ją galite naudoti norėdami žaisti daug įdomių...