Funkcija Stol() v C++

Funkcija Stol V C



C++ je eden najbolj priljubljenih in najstarejših programskih jezikov, ki se uporablja za razvoj visoko zmogljivih aplikacij. Uporabljajo ga visoko usposobljeni programerji in razvijalci začetniki. Uporablja se predvsem pri razvoju iger in je idealna možnost za razvoj operacijskih sistemov. Pri pisanju kode v jeziku C++ lahko naletite na pretvarjanje podatkov iz ene vrste v drugo. V tem članku se boste naučili pretvoriti niz v dolgo celo število. Niz je precej težko pretvoriti v katero koli drugo obliko. Vendar programski jezik C++ ponuja hiter in učinkovit način za pretvorbo nizov v cela števila.

funkcija stol v C++

Stol je vgrajena funkcija C++, ki je na voljo v knjižnici std. Pretvori nize v dolga cela števila. Vsebino niza pretvori v celo število podane osnove in vrne vrednost dolgega celega števila. Zajema tri parametre, eden je vhodni niz, drugi je parameter objekta in tretji je številska osnova. Sintaksa funkcije stol je podana spodaj, poglejte si:









Funkcija stol ima tri parametre: input_string, size in base. “Input_string” predstavlja vhodni niz, ki ga je treba pretvoriti v dolgo celo število.



Parameter »velikost« predstavlja objekt tipa size_t, ki nosi položaj naslednjega znaka v vhodnem nizu za številčno vrednostjo. Lahko je ničelni kazalec, če ni potreben za uporabo.





Tretji parameter, parameter 'osnova', predstavlja osnovo, v kateri je treba interpretirati niz. Na primer, če je podana osnova »2«, bo niz razložen kot celo število z osnovo 2. Privzeta vrednost osnovnega parametra je 10 in če je navedena 0, bo osnovna vrednost določena z obliko v zaporedju. Funkcija stol vrne dolgo celo število, ki predstavlja vrednost int danega niza.

Zdaj pa raziščimo nekaj primerov, da bomo razumeli, kako funkcija stol deluje v C++.



Primer št. 1

V tem primeru bomo zagotovili decimalne in šestnajstiške nize, da preverimo, kako jih funkcija stol pretvori v decimalna in šestnajstiška cela števila.

»dec = 123456789« je decimalni niz in pretvorjen v dolgo celo število s funkcijo stol stol(dec,&size). Upoštevajte, da osnova ni navedena v funkciji kot vhodni parameter, ki kot rezultat uporablja privzeto osnovo 10 za pretvorbo niza v decimalno število. Vendar je za pretvorbo niza iz šestnajstiškega števila v decimalno število osnova 16 na voljo kot vhodni parameter stol(hex, nullptr, 16). Kot vemo, osnova 16 predstavlja šestnajstiško število.

#include

#include

#include

int glavni ( )

{

std :: vrvica dec = '123456789' ;
std :: vrvica hex = 'a2bf3c' ;
std :: vrvica :: velikost_vrsta velikost ;
dolga lidec = std :: tabela ( dec, & velikost ) ;
dolga lihex = std :: tabela ( hex, nullptr , 16 ) ;
std :: cout << 'Vnesite decimalni niz' << dec << ' pretvorjeno v dolgo int ' << lidec << ' \n ' ;
std :: cout << 'Vnesi šestnajstiški niz' << hex << ' pretvorjeno v dolgo int ' << lihex << ' \n ' ;
vrnitev 0 ;


}

Tukaj je naslednji rezultat. Upoštevajte, da je decimalni niz »123456789« pretvorjen v »123456789« dolgo decimalno celo število. Medtem ko je šestnajstiški niz 'a2bf3c' pretvorjen v šestnajstiško število '10665788'. Tukaj so zahtevani koraki, ki jih lahko izvedete, da se naučite, kako pretvorbo izvede funkcija stol:

( A2BF3C ) ₁₆ = ( 10 × 16 ) + ( dva × 16 ) + ( enajst × 16 ³ ) + ( petnajst × 16 ² ) + ( 3 × 16 ¹ ) + ( 12 × 16 ) = ( 10665788 ) ₁₀

Primer št. 2

V tem primeru bomo pretvorili binarno število s funkcijo stol. Oglejmo si spodnjo kodo in razumemo delovanje kode. »1010110110« je podan kot vhodni niz, osnova 2 pa kot vhodni osnovni parameter stol(bin,&size, 2), ki predstavlja število v binarni obliki. Funkcija stol bo binarno število pretvorila v decimalno število tako, da sledi tem korakom:

( 1010110110 ) = ( 1 × dva ) + ( 0 × dva ) + ( 1 × dva ) + ( 0 × dva ) + ( 1 × dva ) + ( 1 × dva ) + ( 0 × dva ³ ) + ( 1 × dva ² ) + ( 1 × dva ¹ ) + ( 0 × dva ) = ( 694 ) ₁₀ #include

#include

#include

int glavni ( )

{

std :: vrvica koš = '1010110110' ;
std :: vrvica :: velikost_vrsta velikost ;
dolga libin = std :: tabela ( koš, & velikost, dva ) ;
std :: cout << 'Vnos dvojiškega niza' << koš << ' pretvorjeno v dolgo int ' << libin << ' \n ' ;
vrnitev 0 ;


}

Kot lahko vidite, je funkcija stol vrnila enak rezultat kot splošni postopek pretvorbe binarnih v decimalne vrednosti.

Primer št. 3

V tem primeru bomo videli, kaj se zgodi, če preizkusimo funkcijo stol z neveljavnim vnosom. Niz več znakov bo zagotovljen funkciji stol in 0 bo zagotovljena kot osnovna vrednost, tako da bo funkcija samodejno določila osnovo niza. Tukaj je koda:

Niz znakov je na voljo kot vhodni niz, ki ni določen z nobeno osnovno vrednostjo, npr. 10, 16, 2 itd., zato bo funkcija vrnila vrednost napake.

#include

#include

#include

int glavni ( )

{

std :: vrvica hr = 'abcdefgh' ;

std :: vrvica :: velikost_vrsta velikost ;
dolga str = std :: tabela ( chr, nullptr , 0 ) ;
std :: cout << 'Vnesite niz znakov' << hr << ' pretvorjeno v dolgo int ' << str << ' \n ' ;
vrnitev 0 ;


}

Glej izhod spodaj. Upoštevajte, da je prevajalnik dvignil izjemo »invalid_argument«, ker funkcija ne skrbi za nize, ki jih ni mogoče določiti z nobeno osnovno vrednostjo.

Primer št. 4

V tem primeru bomo zagotovili kombinacijo veljavnih in neveljavnih vnosov za ogled rezultata funkcije stol().

Vhodni niz je kombinacija veljavnih in neveljavnih znakov, »123xf25«. »0« je na voljo kot vhodna osnova, tako da funkcija samodejno določi osnovo vnosnega niza glede na vrsto znakov.

#include

#include

#include

int glavni ( )

{

std :: vrvica hr = '123xf25' ;
std :: vrvica :: velikost_vrsta velikost ;
dolga str = std :: tabela ( chr, nullptr , 0 ) ;
std :: cout << 'Vnosni niz' << hr << ' pretvorjeno v dolgo int ' << str << ' \n ' ;
vrnitev 0 ;


}

Tukaj je rezultat, ki prikazuje delovanje funkcije stol s kombinacijo veljavnega in neveljavnega vnosa:

Upoštevajte, da je funkcija pretvorila »123« v decimalno število »123« in zavrgla preostali del niza, ker je prejela neveljaven vnos »x«. Funkcija stol ne pretvori niza za znakom »x«, vrne samo prve znake niza, dolgega int.

Zaključek

V tej objavi smo raziskali funkcijo stol programskega jezika C++. S pomočjo nekaj uporabnih in preprostih primerov smo spoznali, kako funkcija stol deluje z različnimi vrstami vnosov. Funkcija stol ima tri parametre, vhodni niz, ki ga je treba pretvoriti, parameter velikosti, ki predstavlja položaj funkcije v nizu, in osnovno vrednost, ki predstavlja osnovo vhodnega niza. Vrne vrednost long int vhodnega niza.