Kuidas kasutada Setprecisionit C++-s

Kuidas Kasutada Setprecisionit C S



Võib-olla olete õppinud ja uurinud ujukoma väärtusi ja teaduslikku tähistust matemaatikas ja füüsikas. Võib-olla olete õppinud ka ujukomaarvude ümardamist. C++ utiliiti setprecision kasutatakse sageli ujukoma täisarvulise väljundjada sees kuvatavate numbrite jada muutmiseks. See toimib samamoodi nagu ümardamisfunktsioon. See meetod on määratletud standardteegis. Selles õpetuses näitame teile, kuidas kasutada C++ funktsiooni 'setprecision'. Niisiis, alustame. Peame Ubuntu kestarakenduse käivitama 'Ctrl + Alt + T' abil, et sellega töötada. Peame initsialiseerima C++ kompilaatori installimise, mis meie puhul on g++. Seega kasutatakse selleks sobivat paketti seni. Süsteem installib g++ vaid mõne sekundiga: $ sudo asjakohane installida g++

Näide 01:

Niisiis, oleme avanud faili 'new.cc' 'nano' juhistega. See fail luuakse kesta 'puutepäringu' abil. Fail käivitatakse nüüd nanoredaktoris tühja failina. Oleme ülaossa lisanud sisend-väljund päisefaili 'iostream'. 'Iomanipi' teek on lisatud meie koodi meetodi setprecision() kasutamiseks. Pärast seda kasutasime standardset nimeruumi 'std', et veenduda, et kasutame standardset koodi ja süntaksit. Üldkood on tehtud C++ koodi funktsiooni main() raames. Sel eesmärgil ei kasutata ühtegi teist kasutaja määratud funktsiooni.







Funktsiooni main() sees oleme initsialiseerinud topelttüüpi muutuja “v” topeltväärtusega. Esimene standardlause 'cout' kuvab kesta tegeliku topeltmuutuja väärtuse 'v' ilma värskendamiseta. Pärast seda oleme kasutanud 8 cout-lauset, et kasutada igaühes setprecision() meetodit. Selle eesmärk on rakendada setprecision() muutuja 'v' iga ujukoma iga kord. Peate mõistma, et seatud täpsus töötab ainult väärtuse puhul, mis on suurem või võrdne 5-ga. Kui ujukoma väärtus on suurem kui 5, suurendab see sellele eelnevat väärtust.



Näiteks setprecision() 1. ujukoma ümardab pärast punkti '5' ja väärtus '4' teisendatakse 5-ks. Samamoodi ei saa 2. ujukoma väärtust '2' ümardada. 3. ujukoma väärtus '7' teisendab väärtuse '2' väärtuseks '3', neljandat ujukoma väärtust '4' ei saa ümardada ja 5. ujukoma väärtus '9' teisendab väärtuse '4' ” kuni 5 enne seda. Punktis '0' teisendab väärtuse '4' 5-ks. Negatiivne setprecision() ei tee muud, kui kuvab kogu tegeliku väärtuse. Kõik ujukomapunktides 0 kuni 5 ja -1, -2 olevad väärtused kuvatakse pärast setprecision () rakendamist:







On aeg kompileerida ja käivitada setprecision C++ kood koos g++ kompileerimispäringuga ja täitmispäringuga './a.out'. Väljund näitab, et esimene setprecision (1) teisendab 4 väärtuseks 5. Setprecision (2) ei teinud midagi ja kuvab '4.5'. Määramise täpsus (3) suurendas väärtust 4,52-lt 4,53-le. Setprecision (4) ei mõjuta väärtust '4.527'. Setprecision (5) suurendab väärtust „4,5274” väärtusest „4,5275”. Setprecision (0) suurendas väärtust 5-ni. Setprecision (-1) ja setprecision (-2) ei teinud midagi, nagu allpool näidatud:

$ g++ uus.cc

$. / a.out



Näide 02:

Heidame pilgu teisele juhtumile. Kood on sarnane ülaltoodud näitega, ainult selle cout-lausetes on muudatusi. Esimene cout näitab algväärtusi, samas kui kaks järgmist näitavad setprecision() tulemust ujukomades 1 ja 5. Viimane cout näitab meetodi setprecision() tulemust ujukomaga 9, mis pole füüsiliselt saadaval. Ujukoma 1 ja 5 tulemused on üsna ootuspärased, kuid ujukoma 9 kohta ei saa me midagi öelda. Käivitame faili ja kontrollime, milline on selle koodi väljund:

#include

#include

kasutades nimeruum std ;

int peamine ( ) {

kahekordne sisse = 4,52749 ;

cout << 'Väärtus enne täpsuse määramist:' << sisse << ' \n ' ;

cout << seatud täpsus ( 1 ) << 'Val kell 1:' << sisse << ' \n ' ;

cout << seatud täpsus ( 5 ) << 'Val kell 5:' << sisse << ' \n ' ;

cout << seatud täpsus ( 9 ) << 'Val kell 9:' << sisse << ' \n ' ;

tagasi 0 ;

}

Pärast selle koodi kompileerimist ja täitmist on meil selged tulemused ujukomaväärtusega „4.52749“ asukohtade 1 ja 3 täpsuse määramiseks. Määramise täpsuse 9 tulemus näitab topeltmuutuja “v” tegelikku väärtust. See võib olla tingitud asjaolust, et asukoha 9 väärtus pole fikseeritud:

$ g++ uus.cc

$. / a.out

Värskendame lihtsalt koodi uuesti, et fikseerida muutuja 'v' väärtused. Niisiis, pärast muutuja 1. asukohas rakendatud esimest setprecision() cout-lauset oleme kasutanud cout fikseeritud muutujat:

#include

#include

kasutades nimeruum std ;

int peamine ( ) {

kahekordne sisse = 4,52749 ;

cout << 'Väärtus enne täpsuse määramist:' << sisse << ' \n ' ;

cout << seatud täpsus ( 1 ) << 'Val kell 1:' << sisse << ' \n ' ;

cout << fikseeritud ;

cout << seatud täpsus ( 5 ) << 'Val kell 5:' << sisse << ' \n ' ;

cout << seatud täpsus ( 9 ) << 'Val kell 9:' << sisse << ' \n ' ;

tagasi 0 ;

}

Pärast selle värskendatud koodi kompileerimist ja käitamist on meil muutuja “v” asukohas 9 fikseeritud täpsuse tulemus, st 4.527490000:

$ g++ uus.cc

$. / a.out

Järeldus:

Lõpuks oli see kõik seotud meetodi setprecision() kasutamisega C++ koodis topeltmuutuja väärtuse ümardamiseks ja kuvamiseks. Oleme selgitanud ka koodis olevaid fikseeritud muutujaid ja nende eeliseid. Lisaks oleme rakendanud kaks olulist näidet, et selgitada komplekti täpsuse mõistet C++ keeles. Loodame, et see artikkel oli teile kasulik. Rohkem näpunäiteid ja õpetusi leiate teistest Linuxi vihje artiklitest.