Stol() funkcija C++ valodā

Stol Funkcija C Valoda



C++ ir viena no populārākajām un vecākajām programmēšanas valodām, ko izmanto augstas veiktspējas lietojumprogrammu izstrādei. To izmanto augsti pieredzējuši programmētāji un iesācēju izstrādātāji. To galvenokārt izmanto spēļu izstrādē un ir ideāls variants operētājsistēmu izstrādei. Rakstot kodu C++ valodā, jūs varat saskarties ar datu pārveidošanu no viena veida uz citu. Šajā rakstā jūs iemācīsities pārvērst virkni garā veselā skaitlī. Ir diezgan grūti pārvērst virkni jebkurā citā formātā. Tomēr C++ programmēšanas valoda nodrošina ātru un efektīvu veidu, kā pārvērst virknes veselos skaitļos.

stol Funkcija C++ valodā

Stol ir C++ iebūvēta funkcija, kas tiek nodrošināta standarta bibliotēkā. Tas pārvērš virknes garos veselos skaitļos. Tas pārvērš virknes saturu noteiktās bāzes veselā skaitļā un atgriež garu veselu skaitļa vērtību. Tam nepieciešami trīs parametri, viens ir ievades virkne, otrs ir objekta parametrs un trešais ir skaitliskā bāze. Stol funkcijas sintakse ir dota zemāk, apskatiet:









Funkcijai stol ir trīs parametri: input_string, size un base. “Input_string” apzīmē ievades virkni, kas jāpārvērš garā veselā skaitļā.



Parametrs “size” apzīmē objektu ar tipu size_t, kuram ir nākamā rakstzīmes pozīcija ievades virknē pēc skaitliskās vērtības. Tas var būt nulles rādītājs, ja tas nav jāizmanto.





Trešais parametrs, “bāzes” parametrs, apzīmē bāzi, kurā virkne jāinterpretē. Piemēram, ja ir norādīta bāze “2”, virkne tiks interpretēta kā vesels 2. bāzes skaitlis. Bāzes parametra noklusējuma vērtība ir 10, un, ja ir norādīta 0, tad bāzes vērtību noteiks secībā esošais formāts. Funkcija stol atgriež garu veselu skaitli, kas apzīmē dotās virknes int vērtību.

Tagad izpētīsim dažus piemērus, lai saprastu, kā stol funkcija darbojas C++.



1. piemērs

Šajā piemērā mēs nodrošināsim decimāldaļas un heksadecimālās virknes, lai pārbaudītu, kā funkcija stol tās pārvērš veselos decimālos un heksadecimālos skaitļos.

“dec = 123456789” ir decimālā virkne, kas tiek pārveidota par garu veselu skaitli, izmantojot stol funkciju stol(dec,&size). Ņemiet vērā, ka bāze funkcijā netiek nodrošināta kā ievades parametrs, kā rezultātā tiek izmantota noklusējuma bāze 10, lai pārvērstu virkni decimālskaitlī. Tomēr, lai pārvērstu virkni no heksadecimāla skaitļa par decimālo skaitli, kā ievades parametrs stol(hex, nullptr, 16) tiek nodrošināta bāze 16. Kā zināms, 16 bāze apzīmē heksadecimālo skaitli.

#include

#include

#include

starpt galvenais ( )

{

std :: virkne dec = '123456789' ;
std :: virkne hex = 'a2bf3c' ;
std :: virkne :: izmēra_veids Izmērs ;
garš lidec = std :: tabula ( decembris, & Izmērs ) ;
garš lihex = std :: tabula ( sešstūra, nullptr , 16 ) ;
std :: cout << 'Ievadiet decimālo virkni' << dec << 'pārveidots uz garo int' << lidec << ' \n ' ;
std :: cout << 'Ievadiet heksadecimālo virkni' << hex << 'pārveidots uz garo int' << lihex << ' \n ' ;
atgriezties 0 ;


}

Šeit ir šāda izvade. Ņemiet vērā, ka decimālā virkne “123456789” ir pārveidota par “123456789” decimāldaļu garu veselu skaitli. Kamēr heksadecimālā virkne “a2bf3c” tika pārveidota par heksadecimālo skaitli “10665788”. Tālāk ir norādītas obligātās darbības, kuras varat veikt, lai uzzinātu, kā konvertēšanu veic funkcija stol.

( A2BF3C ) ₁₆ = ( 10 × 16 ) + ( divi × 16 ) + ( vienpadsmit × 16 ³ ) + ( piecpadsmit × 16 ² ) + ( 3 × 16 ¹ ) + ( 12 × 16 ) = ( 10665788 ) ₁0

2. piemērs

Šajā piemērā mēs konvertēsim bināro skaitli, izmantojot stol funkciju. Apskatīsim tālāk esošo kodu un sapratīsim koda darbību. “1010110110” ir norādīta kā ievades virkne, un 2. bāze ir norādīta kā ievades bāzes parametrs stol(bin,&size, 2), kas apzīmē skaitli binārā formātā. Funkcija Stol pārveidos bināro skaitli decimālskaitlī, veicot šādas darbības:

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

#include

#include

starpt galvenais ( )

{

std :: virkne atkritumu tvertne = '1010110110' ;
std :: virkne :: izmēra_veids Izmērs ;
garš libin = std :: tabula ( tvertne, & Izmērs, divi ) ;
std :: cout << 'Ievadiet bināro virkni' << atkritumu tvertne << 'pārveidots uz garo int' << libin << ' \n ' ;
atgriezties 0 ;


}

Kā redzat, stol funkcija atgrieza tādu pašu rezultātu kā vispārējais binārās un decimāldaļas konvertēšanas process.

3. piemērs

Šajā piemērā mēs redzēsim, kas notiek, ja pārbaudām stol funkciju ar nederīgu ievadi. Funkcijai stol tiks nodrošināta vairāku rakstzīmju virkne, un 0 tiks nodrošināta kā bāzes vērtība, lai funkcija automātiski noteiktu virknes bāzi. Šeit ir kods:

Rakstzīmju kopa tiek nodrošināta kā ievades virkne, kuru nenosaka nekādas bāzes vērtības, t.i., 10, 16, 2 utt., tāpēc funkcija atgriezīs kļūdas vērtību.

#include

#include

#include

starpt galvenais ( )

{

std :: virkne chr = 'abcdefgh' ;

std :: virkne :: izmēra_veids Izmērs ;
garš str = std :: tabula ( chr, nullptr , 0 ) ;
std :: cout << 'Ievadiet rakstzīmju virkni' << chr << 'pārveidots uz garo int' << str << ' \n ' ;
atgriezties 0 ;


}

Skatiet izvadi zemāk. Ņemiet vērā, ka kompilators ir izvirzījis “invalid_argument” izņēmumu, jo funkcija neapmierina virknes, kuras nevar noteikt ar nevienu bāzes vērtību.

4. piemērs

Šajā piemērā mēs nodrošināsim derīgas un nederīgas ievades kombināciju, lai redzētu funkcijas stol() rezultātu.

Ievades virkne ir derīgu un nederīgu rakstzīmju kombinācija “123xf25”. “0” tiek nodrošināts kā ievades bāze, lai funkcija automātiski noteiktu ievades virknes bāzi, pamatojoties uz rakstzīmju veidu.

#include

#include

#include

starpt galvenais ( )

{

std :: virkne chr = '123xf25' ;
std :: virkne :: izmēra_veids Izmērs ;
garš str = std :: tabula ( chr, nullptr , 0 ) ;
std :: cout << 'Ievades virkne' << chr << 'pārveidots uz garo int' << str << ' \n ' ;
atgriezties 0 ;


}

Šeit ir izvade, kas parāda stol funkcijas darbību ar derīgas un nederīgas ievades kombināciju:

Ņemiet vērā, ka funkcija “123” pārveidoja par decimālo skaitli “123” un atmeta pārējo virkni, jo tā saņēma nederīgu ievadi “x”. Virkne pēc rakstzīmes “x” netiek pārveidota ar stol funkciju, atgriežot tikai pirmās virknes rakstzīmes garuma int.

Secinājums

Šajā ziņojumā mēs izpētījām C++ programmēšanas valodas stol funkciju. Izmantojot dažus noderīgus un vienkāršus piemērus, mēs uzzinājām, kā stol funkcija darbojas ar dažāda veida ievadiem. Funkcijai stol ir trīs parametri: pārveidojamā ievades virkne, lieluma parametrs, kas attēlo funkcijas pozīciju virknē, un bāzes vērtība, kas apzīmē ievades virknes bāzi. Tas atgriež ievades virknes garo int vērtību.