Стол() функција у Ц++

Stol Funkcija U C



Ц++ је један од најпопуларнијих и најстаријих програмских језика који се користи за развој апликација високих перформанси. Користи се међу високо стручним програмерима и почетницима. Углавном се користи у развоју игара и идеална је опција за развој оперативних система. Када пишете код на језику Ц++, можете наићи на претварање података из једног типа у други. У овом чланку ћете научити да конвертујете стринг у дуг цео број. Прилично је тешко претворити стринг у било који други формат. Међутим, програмски језик Ц++ пружа брз и ефикасан начин за претварање стрингова у целе бројеве.

стол функција у Ц++

Стол је Ц++ уграђена функција која се налази у библиотеци стд. Конвертује низове у дуге целе бројеве. Конвертује садржај стринга у цео број наведене базе и враћа дугу целобројну вредност. Потребна су три параметра, један је улазни низ, други је параметар објекта, а трећи је нумеричка база. Синтакса функције стол је дата у наставку, погледајте:









Функција стол узима три параметра: инпут_стринг, сизе и басе. „инпут_стринг“ представља улазни низ који треба да се конвертује у дуг цео број.



Параметар „величина“ представља објекат типа сизе_т који носи следећу позицију карактера у улазном низу после нумеричке вредности. Може бити нулти показивач ако није потребан за коришћење.





Трећи параметар, параметар „басе“ представља основу у којој стринг треба да се интерпретира. На пример, ако је дата база „2“, стринг ће се тумачити као целобројни основни број 2. Подразумевана вредност основног параметра је 10 и ако је дата 0, основна вредност ће бити одређена форматом у низу. Функција стол враћа дуг цео број који представља вредност инт датог низа.

Сада, хајде да истражимо неке примере да бисмо разумели како функција стол функционише у Ц++.



Пример #1

У овом примеру ћемо обезбедити децималне и хексадецималне низове да бисмо проверили како их функција стол претвара у децималне и хексадецималне целе бројеве.

„дец = 123456789“ је децимални низ и конвертован је у дуг цео број помоћу функције стол стол(дец,&сизе). Имајте на уму да основа није дата у функцији као улазни параметар који као резултат користи подразумевану базу 10 за претварање стринга у децимални број. Међутим, за претварање стринга из хексадецималног броја у децимални број, база 16 је дата као улазни параметар стол(хек, нуллптр, 16). Као што знамо, основа од 16 представља хексадецимални број.

#инцлуде <иостреам>

#инцлуде <стринг>

#инцлуде <стдлиб.х>

инт главни ( )

{

стд :: низ дец = '123456789' ;
стд :: низ хек = 'а2бф3ц' ;
стд :: низ :: сизе_типе величина ;
дугачак лидец = стд :: сто ( дец, & величина ) ;
дугачак лихек = стд :: сто ( хекс, нуллптр , 16 ) ;
стд :: цоут << „Унесите децимални стринг“ << дец << 'претворено у лонг инт' << лидец << ' ' ;
стд :: цоут << „Унесите хексадецимални низ“ << хек << 'претворено у лонг инт' << лихек << ' ' ;
повратак 0 ;


}

Ево следећег излаза. Имајте на уму да је децимални низ „123456789“ конвертован у „123456789“ децимални дуг цео број. Док је хексадецимални низ „а2бф3ц“ конвертован у хексадецимални број „10665788“. Ево потребних корака које можете пратити да бисте сазнали како се конверзија врши помоћу функције стол:

( А2БФ3Ц ) ₁₆ = ( 10 × 16 ) + ( два × 16 ) + ( Једанаест × 16 ³ ) + ( петнаест × 16 ² ) + ( 3 × 16 ¹ ) + ( 12 × 16 ) = ( 10665788 ) ₁₀

Пример #2

У овом примеру ћемо конвертовати бинарни број помоћу функције стол. Хајде да видимо код испод и разумемо рад кода. „1010110110“ је дат као улазни низ, а основа 2 је обезбеђена као улазни основни параметар стол(бин,&сизе, 2), који представља број у бинарном формату. Функција стол ће претворити бинарни број у децимални број пратећи ове кораке:

( 1010110110 ) = ( 1 × два ) + ( 0 × два ) + ( 1 × два ) + ( 0 × два ) + ( 1 × два ) + ( 1 × два ) + ( 0 × два ³ ) + ( 1 × два ² ) + ( 1 × два ¹ ) + ( 0 × два ) = ( 694 ) ₁₀ #инцлуде <иостреам>

#инцлуде <стринг>

#инцлуде <стдлиб.х>

инт главни ( )

{

стд :: низ бин = '1010110110' ;
стд :: низ :: сизе_типе величина ;
дугачак либин = стд :: сто ( канта, & величина, два ) ;
стд :: цоут << 'Улазни бинарни стринг' << бин << 'претворено у лонг инт' << либин << ' ' ;
повратак 0 ;


}

Као што видите, функција стол је вратила исти резултат као и општи процес бинарне конверзије у децимални.

Пример #3

У овом примеру ћемо видети шта се дешава ако тестирамо функцију стол са неважећим уносом. Низ од више знакова ће бити обезбеђен функцији стол и 0 ће бити обезбеђена као основна вредност тако да ће функција аутоматски одредити основу низа. Ево кода:

Скуп карактера је обезбеђен као улазни низ који није одређен ниједном базном вредношћу, тј. 10, 16, 2, итд., тако да ће функција вратити вредност грешке.

#инцлуде <иостреам>

#инцлуде <стринг>

#инцлуде <стдлиб.х>

инт главни ( )

{

стд :: низ цхр = 'абцдефгх' ;

стд :: низ :: сизе_типе величина ;
дугачак стр = стд :: сто ( цхр, нуллптр , 0 ) ;
стд :: цоут << „Унесите низ знакова“ << цхр << 'претворено у лонг инт' << стр << ' ' ;
повратак 0 ;


}

Погледајте излаз испод. Имајте на уму да је компајлер подигао изузетак „инвалид_аргумент“ пошто функција не покрива низове који се не могу одредити ни са једном основном вредношћу.

Пример #4

У овом примеру ћемо обезбедити комбинацију важећег и неважећег уноса да бисмо видели резултат функције стол().

Улазни низ је комбинација важећих и неважећих знакова, „123кф25“. „0“ је обезбеђена као улазна база тако да функција аутоматски одређује базу улазног низа на основу типа карактера.

#инцлуде <иостреам>

#инцлуде <стринг>

#инцлуде <стдлиб.х>

инт главни ( )

{

стд :: низ цхр = '123кф25' ;
стд :: низ :: сизе_типе величина ;
дугачак стр = стд :: сто ( цхр, нуллптр , 0 ) ;
стд :: цоут << 'Улазни низ' << цхр << 'претворено у лонг инт' << стр << ' ' ;
повратак 0 ;


}

Ево излаза који показује рад функције стол са комбинацијом важећег и неважећег уноса:

Имајте на уму да је функција конвертовала „123“ у децимални број „123“ и одбацила остатак низа пошто је примио неважећи унос „к“. Стринг после карактера „к“ не конвертује стол функција, враћајући само прве знакове низа као лонг инт.

Закључак

У овом посту смо истражили функцију стол програмског језика Ц++. Уз помоћ неколико корисних и једноставних примера, научили смо како функција стол функционише са различитим типовима улаза. Функција стол узима три параметра, улазни низ који треба да се конвертује, параметар величине који представља позицију функције у низу и основну вредност која представља основу улазног низа. Враћа дугу инт вредност улазног низа.