Fungsi Stol() dalam C++

Fungsi Stol Dalam C



C++ adalah salah satu bahasa pemrograman paling populer dan tertua yang digunakan untuk pengembangan aplikasi berkinerja tinggi. Ini digunakan di antara programmer yang sangat ahli dan pengembang pemula. Ini terutama digunakan dalam pengembangan game dan merupakan pilihan ideal untuk mengembangkan sistem operasi. Saat menulis kode dalam bahasa C++, Anda mungkin menemukan konversi data dari satu jenis ke jenis lainnya. Pada artikel ini, Anda akan belajar mengubah string menjadi bilangan bulat panjang. Cukup sulit untuk mengubah string ke format lain. Namun, bahasa pemrograman C++ menyediakan cara yang cepat dan efisien untuk mengubah string menjadi integer.

Fungsi stol di C++

Stol adalah fungsi bawaan C++ yang disediakan di perpustakaan std. Ini mengubah string menjadi bilangan bulat panjang. Ini mengubah konten string menjadi nomor integer dari basis yang ditentukan dan mengembalikan nilai integer yang panjang. Dibutuhkan tiga parameter, satu adalah string input, yang kedua adalah parameter objek, dan yang ketiga adalah basis numerik. Sintaks fungsi stol diberikan di bawah ini, lihat:









Fungsi stol mengambil tiga parameter: input_string, size, dan base. The 'input_string' mewakili string input yang perlu diubah menjadi bilangan bulat panjang.



Parameter “size” mewakili objek bertipe size_t yang membawa posisi karakter berikutnya dalam string input setelah nilai numerik. Ini bisa menjadi pointer nol jika tidak diperlukan untuk digunakan.





Parameter ketiga, parameter 'dasar' mewakili basis di mana string perlu ditafsirkan. Misalnya, jika basis “2” diberikan, string akan ditafsirkan sebagai bilangan bulat basis 2. Nilai default dari parameter dasar adalah 10 dan jika 0 diberikan maka nilai dasar akan ditentukan oleh format dalam urutan. Fungsi stol mengembalikan bilangan bulat panjang yang mewakili nilai int dari string yang diberikan.

Sekarang, mari kita telusuri beberapa contoh untuk memahami cara kerja fungsi stol di C++.



Contoh 1

Dalam contoh ini, kami akan memberikan string desimal dan heksadesimal untuk memeriksa bagaimana fungsi stol mengubahnya menjadi bilangan bulat desimal dan heksadesimal.

“Dec = 123456789” adalah string desimal dan diubah menjadi bilangan bulat panjang menggunakan fungsi stol stol(dec,&size). Perhatikan bahwa basis tidak disediakan dalam fungsi sebagai parameter input yang akibatnya menggunakan basis default 10 untuk mengubah string menjadi angka desimal. Namun, untuk mengubah string dari angka heksadesimal ke angka desimal, basis 16 disediakan sebagai parameter input stol(hex, nullptr, 16). Seperti yang kita ketahui, basis 16 mewakili bilangan heksadesimal.

#sertakan

#sertakan

#sertakan

ke dalam utama ( )

{

std :: rangkaian Desember = '123456789' ;
std :: rangkaian hex = 'a2bf3c' ;
std :: rangkaian :: tipe ukuran ukuran ;
panjang lidec = std :: meja ( Desember, & ukuran ) ;
panjang liex = std :: meja ( heksa, nullptr , 16 ) ;
std :: cout << 'Masukkan string desimal' << Desember << ' diubah menjadi int panjang ' << lidec << ' \n ' ;
std :: cout << 'Masukkan string heksadesimal' << hex << ' diubah menjadi int panjang ' << liex << ' \n ' ;
kembali 0 ;


}

Berikut adalah keluaran berikut. Perhatikan bahwa string desimal “123456789” dikonversi menjadi bilangan bulat panjang desimal “123456789”. Sedangkan string heksadesimal “a2bf3c” diubah menjadi bilangan heksadesimal “10665788”. Berikut adalah langkah-langkah yang diperlukan yang dapat Anda ikuti untuk mempelajari bagaimana konversi dilakukan oleh fungsi stol:

( A2BF3C ) = ( 10 × 16 ) + ( dua × 16 ) + ( sebelas × 16 ) + ( limabelas × 16 ² ) + ( 3 × 16 ) + ( 12 × 16 ) = ( 10665788 )

Contoh #2

Dalam contoh ini, kita akan mengonversi bilangan biner menggunakan fungsi stol. Mari kita lihat kode di bawah ini dan pahami cara kerja kode tersebut. '1010110110' diberikan sebagai string input dan basis 2 diberikan sebagai parameter basis input stol(bin,&size, 2), yang mewakili angka dalam format biner. Fungsi stol akan mengubah bilangan biner menjadi bilangan desimal dengan mengikuti langkah-langkah berikut:

( 1010110110 ) = ( 1 × dua ) + ( 0 × dua ) + ( 1 × dua ) + ( 0 × dua ) + ( 1 × dua ) + ( 1 × dua ) + ( 0 × dua ) + ( 1 × dua ² ) + ( 1 × dua ) + ( 0 × dua ) = ( 694 ) #sertakan

#sertakan

#sertakan

ke dalam utama ( )

{

std :: rangkaian tempat sampah = '1010110110' ;
std :: rangkaian :: tipe ukuran ukuran ;
panjang libin = std :: meja ( tempat sampah, & ukuran, dua ) ;
std :: cout << 'Masukkan string biner' << tempat sampah << ' diubah menjadi int panjang ' << libin << ' \n ' ;
kembali 0 ;


}

Seperti yang Anda lihat bahwa fungsi stol mengembalikan hasil yang sama seperti yang dilakukan oleh proses konversi biner ke desimal.

Contoh #3

Dalam contoh ini, kita akan melihat apa yang terjadi jika kita menguji fungsi stol dengan input yang tidak valid. String dari beberapa karakter akan diberikan ke fungsi stol dan 0 akan diberikan sebagai nilai dasar sehingga fungsi akan menentukan basis string secara otomatis. Berikut kodenya:

Satu set karakter disediakan sebagai string input yang tidak ditentukan oleh nilai dasar apa pun, yaitu, 10, 16, 2, dll. Sehingga fungsi akan mengembalikan nilai kesalahan.

#sertakan

#sertakan

#sertakan

ke dalam utama ( )

{

std :: rangkaian chr = 'ABCD EFGH' ;

std :: rangkaian :: tipe ukuran ukuran ;
panjang str = std :: meja ( chr, nullptr , 0 ) ;
std :: cout << 'Masukkan string karakter' << chr << ' diubah menjadi int panjang ' << str << ' \n ' ;
kembali 0 ;


}

Lihat output di bawah ini. Perhatikan bahwa kompiler telah memunculkan pengecualian 'invalid_argument' karena fungsi tersebut tidak melayani string yang tidak dapat ditentukan dengan nilai dasar apa pun.

Contoh #4

Dalam contoh ini, kami akan memberikan kombinasi input yang valid dan tidak valid untuk melihat hasil dari fungsi stol().

String input adalah kombinasi dari karakter yang valid dan tidak valid, “123xf25”. “0” disediakan sebagai basis input sehingga fungsi menentukan basis string input secara otomatis berdasarkan jenis karakter.

#sertakan

#sertakan

#sertakan

ke dalam utama ( )

{

std :: rangkaian chr = '123xf25' ;
std :: rangkaian :: tipe ukuran ukuran ;
panjang str = std :: meja ( chr, nullptr , 0 ) ;
std :: cout << 'Masukkan string' << chr << ' diubah menjadi int panjang ' << str << ' \n ' ;
kembali 0 ;


}

Berikut adalah output yang menunjukkan cara kerja fungsi stol dengan kombinasi input valid dan invalid:

Perhatikan bahwa fungsi tersebut mengubah '123' menjadi angka desimal '123' dan membuang sisa string karena menerima input 'x' yang tidak valid. String setelah karakter 'x' tidak dikonversi oleh fungsi stol, hanya mengembalikan karakter pertama string selama int.

Kesimpulan

Dalam posting ini, kami menjelajahi fungsi stol dari bahasa pemrograman C++. Dengan bantuan beberapa contoh yang berguna dan sederhana, kita mempelajari bagaimana fungsi stol bekerja dengan berbagai jenis input. Fungsi stol mengambil tiga parameter, string input yang akan dikonversi, parameter ukuran yang mewakili posisi fungsi dalam string, dan nilai dasar yang mewakili basis string input. Ini mengembalikan nilai int panjang dari string input.