Stol() funkcija u C++

Stol Funkcija U C



C++ je jedan od najpopularnijih i najstarijih programskih jezika koji se koristi za razvoj aplikacija visokih performansi. Koristi se među visokostručnim programerima i programerima početnicima. Uglavnom se koristi u razvoju igara i idealna je opcija za razvoj operativnih sustava. Kada pišete kod u jeziku C++, možete naići na pretvaranje podataka iz jedne vrste u drugu. U ovom ćete članku naučiti pretvoriti niz u dugi cijeli broj. Prilično je teško pretvoriti niz u bilo koji drugi format. Međutim, programski jezik C++ pruža brz i učinkovit način za pretvaranje nizova u cijele brojeve.

funkcija stol u C++

Stol je C++ ugrađena funkcija koja se nalazi u biblioteci std. Pretvara nizove u duge cijele brojeve. Pretvara sadržaj niza u cijeli broj navedene baze i vraća vrijednost dugog cijelog broja. Potrebna su tri parametra, jedan je ulazni niz, drugi je parametar objekta, a treći je numerička baza. Sintaksa funkcije stol dana je u nastavku, pogledajte:









Funkcija stol uzima tri parametra: input_string, size i base. “Input_string” predstavlja ulazni niz koji treba pretvoriti u dugi cijeli broj.



Parametar “size” predstavlja objekt tipa size_t koji nosi poziciju sljedećeg znaka u ulaznom nizu nakon numeričke vrijednosti. Može biti nulti pokazivač ako nije potreban za korištenje.





Treći parametar, parametar “base” predstavlja bazu u kojoj se string treba interpretirati. Na primjer, ako je dana baza '2', niz će se protumačiti kao cijeli broj s bazom 2. Zadana vrijednost osnovnog parametra je 10, a ako je navedena 0, tada će osnovna vrijednost biti određena formatom u nizu. Funkcija stol vraća dugi cijeli broj koji predstavlja int vrijednost zadanog niza.

Istražimo sada neke primjere da bismo razumjeli kako stol funkcija radi u C++.



Primjer # 1

U ovom primjeru pružit ćemo decimalne i heksadecimalne nizove kako bismo provjerili kako ih stol funkcija pretvara u decimalne i heksadecimalne cijele brojeve.

'dec = 123456789' je decimalni niz i pretvoren u dugi cijeli broj pomoću stol funkcije stol(dec,&size). Imajte na umu da baza nije navedena u funkciji kao ulazni parametar koji kao rezultat koristi zadanu bazu 10 za pretvaranje niza u decimalni broj. Međutim, za pretvaranje niza iz heksadecimalnog broja u decimalni broj, baza 16 navedena je kao ulazni parametar stol(hex, nullptr, 16). Kao što znamo, baza 16 predstavlja heksadecimalni broj.

#include

#include

#include

int glavni ( )

{

std :: niz dec = '123456789' ;
std :: niz šesterokutni = 'a2bf3c' ;
std :: niz :: vrsta_veličine veličina ;
dugo lidec = std :: stol ( prosinac, i veličina ) ;
dugo liheks = std :: stol ( hex, nullptr , 16 ) ;
std :: cout << 'Unesi decimalni niz' << dec << ' pretvoreno u long int ' << lidec << ' \n ' ;
std :: cout << 'Unesi heksadecimalni niz' << šesterokutni << ' pretvoreno u long int ' << liheks << ' \n ' ;
povratak 0 ;


}

Ovdje je sljedeći izlaz. Imajte na umu da je decimalni niz '123456789' pretvoren u '123456789' decimalni dugi cijeli broj. Dok se heksadecimalni niz 'a2bf3c' pretvara u '10665788' heksadecimalni broj. Evo potrebnih koraka koje možete slijediti da biste saznali kako funkcija stol vrši konverziju:

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

Primjer # 2

U ovom primjeru pretvorit ćemo binarni broj pomoću stol funkcije. Pogledajmo kod u nastavku i shvatimo njegov rad. '1010110110' dano je kao ulazni niz, a baza 2 navedena je kao ulazni osnovni parametar stol(bin,&size, 2), koji predstavlja broj u binarnom formatu. Funkcija stol pretvorit će binarni broj u decimalni broj slijedeći ove korake:

( 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 :: niz kanta za smeće = '1010110110' ;
std :: niz :: vrsta_veličine veličina ;
dugo libin = std :: stol ( kanta, i veličina, dva ) ;
std :: cout << 'Unos binarnog niza' << kanta za smeće << ' pretvoreno u long int ' << libin << ' \n ' ;
povratak 0 ;


}

Kao što vidite, funkcija stol vratila je isti rezultat kao i opći postupak pretvorbe binarnog u decimalni.

Primjer #3

U ovom primjeru ćemo vidjeti što se događa ako testiramo stol funkciju s nevažećim unosom. Niz od više znakova bit će dostavljen funkciji stol, a 0 će biti dostavljena kao osnovna vrijednost tako da će funkcija automatski odrediti osnovu niza. Evo koda:

Skup znakova pruža se kao ulazni niz koji nije određen nikakvim osnovnim vrijednostima, tj. 10, 16, 2 itd. pa će funkcija vratiti vrijednost pogreške.

#include

#include

#include

int glavni ( )

{

std :: niz hr = 'abcdefgh' ;

std :: niz :: vrsta_veličine veličina ;
dugo str = std :: stol ( chr, nullptr , 0 ) ;
std :: cout << 'Unesite niz znakova' << hr << ' pretvoreno u long int ' << str << ' \n ' ;
povratak 0 ;


}

Pogledajte rezultat u nastavku. Imajte na umu da je kompajler podigao iznimku 'invalid_argument' budući da funkcija ne prati nizove koji se ne mogu odrediti bilo kojom osnovnom vrijednošću.

Primjer #4

U ovom primjeru pružit ćemo kombinaciju važećeg i nevažećeg unosa kako bismo vidjeli rezultat funkcije stol().

Ulazni niz je kombinacija važećih i nevažećih znakova, '123xf25'. '0' je navedena kao baza unosa tako da funkcija automatski određuje osnovu niza unosa na temelju vrste znakova.

#include

#include

#include

int glavni ( )

{

std :: niz hr = '123xf25' ;
std :: niz :: vrsta_veličine veličina ;
dugo str = std :: stol ( chr, nullptr , 0 ) ;
std :: cout << 'Ulazni niz' << hr << ' pretvoreno u long int ' << str << ' \n ' ;
povratak 0 ;


}

Ovo je izlaz koji pokazuje rad funkcije stol s kombinacijom važećeg i nevažećeg unosa:

Imajte na umu da je funkcija pretvorila '123' u decimalni broj '123' i odbacila ostatak niza jer je primila nevažeći unos 'x'. Niz nakon znaka 'x' funkcija stol ne pretvara, vraća samo prve znakove niza kao long int.

Zaključak

U ovom smo postu istražili funkciju stol programskog jezika C++. Uz pomoć nekoliko korisnih i jednostavnih primjera naučili smo kako funkcija stol radi s različitim vrstama unosa. Funkcija stol uzima tri parametra, ulazni niz koji treba pretvoriti, parametar veličine koji predstavlja položaj funkcije u nizu i osnovnu vrijednost koja predstavlja bazu ulaznog niza. Vraća vrijednost long int ulaznog niza.