Fungsi Stol() dalam C++

Fungsi Stol Dalam C



C++ ialah salah satu bahasa pengaturcaraan yang paling popular dan tertua yang digunakan untuk pembangunan aplikasi berprestasi tinggi. Ia digunakan dalam kalangan pengaturcara yang sangat pakar dan pembangun pemula. Ia digunakan terutamanya dalam pembangunan permainan dan merupakan pilihan ideal untuk membangunkan sistem pengendalian. Apabila menulis kod dalam bahasa C++, anda mungkin terjumpa menukar data daripada satu jenis kepada yang lain. Dalam artikel ini, anda akan belajar untuk menukar rentetan kepada integer panjang. Agak sukar untuk menukar rentetan ke dalam format lain. Walau bagaimanapun, bahasa pengaturcaraan C++ menyediakan cara yang cepat dan cekap untuk menukar rentetan kepada integer.

stol Fungsi dalam C++

Stol ialah fungsi terbina dalam C++ yang disediakan dalam perpustakaan std. Ia menukar rentetan kepada nombor integer panjang. Ia menukar kandungan rentetan kepada nombor integer asas yang ditentukan dan mengembalikan nilai integer yang panjang. Ia memerlukan tiga parameter, satu ialah rentetan input, yang kedua ialah parameter objek, dan yang ketiga ialah asas berangka. Sintaks fungsi stol diberikan di bawah, lihat:









Fungsi stol mengambil tiga parameter: input_string, saiz dan asas. 'rentetan_input' mewakili rentetan input yang perlu ditukar kepada nombor integer yang panjang.



Parameter 'saiz' mewakili objek jenis size_t yang membawa kedudukan aksara seterusnya dalam rentetan input selepas nilai berangka. Ia boleh menjadi penunjuk nol jika ia tidak diperlukan untuk digunakan.





Parameter ketiga, parameter 'asas' mewakili asas di mana rentetan itu perlu ditafsirkan. Sebagai contoh, jika asas '2' diberikan, rentetan akan ditafsirkan sebagai nombor asas 2 integer. Nilai lalai parameter asas ialah 10 dan jika 0 disediakan maka nilai asas akan ditentukan oleh format dalam jujukan. Fungsi stol mengembalikan nombor integer panjang yang mewakili nilai int rentetan yang diberikan.

Sekarang, mari kita terokai beberapa contoh untuk memahami cara fungsi stol berfungsi dalam C++.



Contoh # 1

Dalam contoh ini, kami akan menyediakan rentetan perpuluhan dan perenambelasan untuk menyemak cara fungsi stol menukarnya kepada nombor integer perpuluhan dan heksadesimal.

'dec = 123456789' ialah rentetan perpuluhan dan ditukar kepada integer panjang menggunakan fungsi stol stol(dec,&size). Ambil perhatian bahawa asas tidak disediakan dalam fungsi sebagai parameter input yang hasilnya menggunakan asas lalai 10 untuk menukar rentetan kepada nombor perpuluhan. Walau bagaimanapun, untuk menukar rentetan daripada nombor perenambelasan kepada nombor perpuluhan, asas 16 disediakan sebagai parameter input stol(hex, nullptr, 16). Seperti yang kita ketahui, asas 16 mewakili nombor perenambelasan.

#include

#include

#include

int utama ( )

{

std :: tali dec = '123456789' ;
std :: tali hex = 'a2bf3c' ;
std :: tali :: saiz_jenis saiz ;
panjang lidec = std :: meja ( Disember, & saiz ) ;
panjang lihex = std :: meja ( hex, nullptr , 16 ) ;
std :: cout << 'Masukkan rentetan perpuluhan' << dec << 'ditukar kepada int panjang' << lidec << ' \n ' ;
std :: cout << 'Masukkan rentetan perenambelasan' << hex << 'ditukar kepada int panjang' << lihex << ' \n ' ;
kembali 0 ;


}

Berikut adalah output berikut. Ambil perhatian bahawa rentetan perpuluhan '123456789' ditukar kepada '123456789' integer panjang perpuluhan. Manakala rentetan perenambelasan 'a2bf3c' ditukar kepada nombor perenambelasan '10665788'. Berikut ialah langkah yang diperlukan yang boleh anda ikuti untuk mengetahui cara penukaran dilakukan oleh fungsi stol:

( A2BF3C ) ₁₆ = ( 10 × 16 ) + ( dua × 16 ) + ( sebelas × 16 ³ ) + ( lima belas × 16 ² ) + ( 3 × 16 ¹ ) + ( 12 × 16 ) = ( 10665788 ) ₁₀

Contoh # 2

Dalam contoh ini, kita akan menukar nombor binari menggunakan fungsi stol. Mari lihat kod di bawah dan fahami cara kerja kod tersebut. '1010110110' diberikan sebagai rentetan input dan asas 2 disediakan sebagai parameter asas input stol(bin,&saiz, 2), mewakili nombor dalam format binari. Fungsi stol akan menukar nombor binari kepada nombor perpuluhan dengan mengikuti langkah berikut:

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

#include

#include

int utama ( )

{

std :: tali tong sampah = '1010110110' ;
std :: tali :: saiz_jenis saiz ;
panjang libin = std :: meja ( tong sampah, & saiz, dua ) ;
std :: cout << 'Masukkan rentetan binari' << tong sampah << 'ditukar kepada int panjang' << libin << ' \n ' ;
kembali 0 ;


}

Seperti yang anda lihat bahawa fungsi stol mengembalikan hasil yang sama seperti proses penukaran binari umum kepada perpuluhan.

Contoh # 3

Dalam contoh ini, kita akan melihat apa yang berlaku jika kita menguji fungsi stol dengan input yang tidak sah. Rentetan berbilang aksara akan diberikan kepada fungsi stol dan 0 akan diberikan sebagai nilai asas supaya fungsi akan menentukan asas rentetan secara automatik. Inilah kodnya:

Satu set aksara disediakan sebagai rentetan input yang tidak ditentukan oleh sebarang nilai asas, iaitu, 10, 16, 2, dsb. jadi fungsi akan mengembalikan nilai ralat.

#include

#include

#include

int utama ( )

{

std :: tali chr = 'abcdefgh' ;

std :: tali :: saiz_jenis saiz ;
panjang str = std :: meja ( chr, nullptr , 0 ) ;
std :: cout << 'Input rentetan aksara' << chr << 'ditukar kepada int panjang' << str << ' \n ' ;
kembali 0 ;


}

Lihat output di bawah. Ambil perhatian bahawa pengkompil telah menimbulkan pengecualian 'invalid_argument' kerana fungsi itu tidak memenuhi rentetan yang tidak boleh ditentukan dengan sebarang nilai asas.

Contoh # 4

Dalam contoh ini, kami akan menyediakan gabungan input yang sah dan tidak sah untuk melihat hasil fungsi stol().

Rentetan input ialah gabungan aksara yang sah dan tidak sah, '123xf25'. '0' isg disediakan sebagai pangkalan input supaya fungsi menentukan asas rentetan input secara automatik berdasarkan jenis aksara.

#include

#include

#include

int utama ( )

{

std :: tali chr = '123xf25' ;
std :: tali :: saiz_jenis saiz ;
panjang str = std :: meja ( chr, nullptr , 0 ) ;
std :: cout << 'Rentetan input' << chr << 'ditukar kepada int panjang' << str << ' \n ' ;
kembali 0 ;


}

Berikut ialah output yang menunjukkan kerja fungsi stol dengan gabungan input yang sah dan tidak sah:

Ambil perhatian bahawa fungsi menukar '123' kepada nombor perpuluhan '123' dan membuang seluruh rentetan kerana ia menerima input tidak sah 'x'. Rentetan selepas aksara 'x' tidak ditukar oleh fungsi stol, hanya mengembalikan aksara pertama rentetan sebagai int panjang.

Kesimpulan

Dalam siaran ini, kami meneroka fungsi stol bahasa pengaturcaraan C++. Dengan bantuan beberapa contoh yang berguna dan mudah, kami mempelajari cara fungsi stol berfungsi dengan pelbagai jenis input. Fungsi stol mengambil tiga parameter, rentetan input yang hendak ditukar, parameter saiz yang mewakili kedudukan fungsi dalam rentetan dan nilai asas yang mewakili asas rentetan input. Ia mengembalikan nilai int panjang rentetan input.