Konversi Biner ke Desimal di C++

Konversi Biner Ke Desimal Di C



Pada artikel tersebut, kita akan melihat konversi nilai biner ke nilai desimal dalam program C++. Bilangan biner diwakili oleh digit 0 dan 1, sedangkan nilai desimal berisi digit yang berkisar dari 0 hingga 9. Untuk mencapai konversi biner ke desimal, nilai biner harus dikalikan dengan 2 pangkat “ “ n” dimulai dari kanan dan bergerak ke kiri dengan “n” yang lebih tinggi. Mari kita terapkan ini dalam kode untuk mengubah biner menjadi nilai desimal.

Contoh 1: Program Biner ke Desimal Menggunakan Loop “While”.

Kami memiliki program berikut untuk mengubah bilangan dari biner ke desimal. Dalam program ini, kami menggunakan loop “sementara” untuk konversi biner ke desimal.

#termasuk
#sertakan

menggunakan ruang nama std ;

ke dalam konversiOfBin ( panjang panjang ) ;

ke dalam utama ( ) {
panjang panjang pada satu ;
cout << 'Nomor Biner Diperlukan:' ;
makan >> pada satu ;
cout << pada satu << ' dalam biner = ' << konversiOfBin ( pada satu ) << 'dalam desimal' ;
kembali 0 ;
}

ke dalam konversiOfBin ( panjang panjang pada satu ) {
ke dalam Jadi = 0 , X = 0 , sisa ;

ketika ( pada satu ! = 0 ) {
sisa = pada satu % 10 ;
pada satu / = 10 ;
des + = sisa * kekuatan ( 2 , X ) ;
++ X ;
}

kembali Jadi ;
}

Di sini, kita mendefinisikan file header “iostream” untuk aliran input dan output dan “cmath” untuk memanfaatkan fungsi matematika dalam program. Setelah itu, kita mendefinisikan fungsi ConversionOfBin() di mana parameter bertipe “long long” diteruskan. Selanjutnya, kita memiliki pemanggilan fungsi main() untuk menjalankan program. Kami mendeklarasikan variabel tipe antar panjang yang disebut “num” di dalam fungsi main().







Setelah ini, fungsi ConversionOfBin() mengubah bilangan biner masukan menjadi bilangan desimal. Untuk ini, kita memiliki definisi fungsi ConversionOfBin() setelah kode driver. Fungsi ConversionOfBin() diteruskan dengan variabel “num” yang memiliki bilangan biner. Kemudian, kita memanggil perulangan “sementara” untuk mengubah bilangan biner dalam “angka” menjadi nilai desimal. Sebelumnya kita inisialisasi variabel “deci”, “x”, dan “sisa” dengan nilai “0”.



Dalam perulangan “sementara”, operasi pembagian dilakukan untuk mewakili nilai paling kanan dari bilangan biner. Hasil pembagian disimpan dalam variabel “sisa”. Kemudian, hasil sisa dan hasil pangkatnya kita tambahkan ke dalam variabel “deci”. Variabel “x” terus mengevaluasi daya aktif 2.



Hasil konversi bilangan biner tertentu ke nilai desimal dicapai di konsol C++:





Contoh 2: Program Biner ke Desimal Menggunakan Loop “For”.

Transformasi dari biner ke desimal dilakukan dengan menggunakan perulangan “sementara”. Namun, kita juga dapat menggunakan metode loop “for” untuk mengubah bit biner menjadi angka desimal.



#termasuk
#termasuk

ke dalam utama ( ) {
std :: rangkaian tempat sampah ;
std :: cout << 'Masukkan Nomor Biner:' ;
std :: makan >> tempat sampah ;

ke dalam des = 0 ;
ke dalam dasarIs = 1 ;

untuk ( ke dalam A = tempat sampah. panjang ( ) - 1 ; A >= 0 ; A -- ) {
jika ( tempat sampah [ A ] == '1' ) {
des + = dasarIs ;
}
dasarIs * = 2 ;
}

std :: cout << 'Hasil dalam Desimal:' << des << std :: akhir ;

kembali 0 ;
}

Di sini, kita mulai dengan program fungsi main() di mana kita memiliki variabel “std::string” yaitu “bin” untuk menyimpan bilangan biner yang dimasukkan oleh pengguna di prompt. Awalnya, prompt akan meminta pengguna untuk memasukkan bilangan biner menggunakan pernyataan “cout”. Kemudian perintah “cin” akan membaca bilangan biner tersebut. Setelah itu kita inisialisasi variabel “dec” dengan nilai “0” dan variabel “baseIs” dengan nilai “1” untuk mendapatkan ekuivalen desimal.

Kemudian, kita memanggil perulangan “for” yang mengulang setiap bilangan biner tertentu dari kanan ke kiri. Dalam perulangan, kita memiliki kondisi “if” untuk memverifikasi apakah bilangan binernya adalah 1. Jika bernilai 1, nilai desimal ditambahkan ke variabel “des”. Variabel “baseIs” memiliki pangkat 2 untuk dikalikan dengan 1 pada setiap iterasi.

Nilai bilangan biner dan konversinya menjadi nilai desimal ditampilkan pada layar prompt:

Contoh 3: Program String Biner ke Desimal

Nilai string biner sekarang ditentukan untuk mengubah nilainya menjadi nilai desimal. Implementasi berikut dilakukan untuk mengubah nilai string biner menjadi nilai desimal:

#termasuk
#termasuk
menggunakan ruang nama std ;

ke dalam binToDes ( string val )
{
nilai string = val ;
ke dalam nilai_desimal = 0 ;

ke dalam nilai_dasar = 1 ;

ke dalam hanya = nilai. panjang ( ) ;
untuk ( ke dalam M = hanya - 1 ; M >= 0 ; M -- ) {
jika ( val [ M ] == '1' )
nilai_desimal + = nilai_dasar ;
nilai_dasar = nilai_dasar * 2 ;
}

kembali nilai_desimal ;
}

ke dalam utama ( )
{
string val = '11100101' ;
cout << binToDes ( val ) << akhir ;
}

Di sini, kita mulai dengan membuat fungsi BinToDec() untuk mengubah angka biner menjadi nilai desimal. Fungsi BinToDec() mengambil argumen “val” dari tipe string. Dalam fungsi BinToDec(), kita menginisialisasi variabel “nilai” dengan variabel “val” yang menyatakan bahwa nilai variabel “val” akan disimpan dalam variabel “nilai”. Kemudian, kita mendeklarasikan variabel baru, “decimal_value”, yang diberi nilai 0.

Demikian pula, variabel “base_value” diatur dan diinisialisasi dengan nilai 1. Selanjutnya, kita mendefinisikan variabel “len” di mana fungsi length() dipanggil untuk mendapatkan panjang bilangan biner. Setelah inisialisasi variabel, kita memiliki iterasi loop “for”. Perulangan “for” mengulangi setiap digit bilangan biner dari kanan ke kiri.

Setelah itu, kita memiliki fungsi main() di mana bilangan biner ditentukan sebagai nilai string ke variabel “val” yang diubah menjadi nilai desimal seperti yang kita sebut fungsi BinToDec(val) dengan perintah “cout”.

Nilai biner tipe string sekarang diubah menjadi nilai desimal seperti yang ditampilkan berikut ini:

Contoh 4: Program Biner ke Desimal Menggunakan Kelas Bitset

Selain itu, kita dapat mengubah bilangan biner menjadi bilangan desimal dengan mendefinisikan kelas “bitset” C++ dalam program. Ini menyediakan fungsi yang prosedur konversinya sangat sederhana.

#termasuk
#termasuk

ke dalam utama ( ) {
std :: rangkaian binerIs ;
std :: cout << 'Harap berikan nomor biner:' ;
std :: makan >> binerIs ;

std :: kumpulan bit < 64 > biner ( binerIs ) ;
tidak ditandatangani panjang angka desimal = biner. terlalu panjang ( ) ;

std :: cout << 'Angka desimal: ' << angka desimal << std :: akhir ;

kembali 0 ;
}

Di sini, kami menyetel pustaka “bitset” C++ di header yang sangat membantu saat bekerja dengan nilai biner. Setelah ini, kita memiliki definisi fungsi main() di mana kita menggunakan “std::string” untuk mendeklarasikan variabel “binaryIs”. Variabel “binaryIs” menyimpan nilai biner dalam string. Selanjutnya, kami meminta pengguna untuk menambahkan bilangan biner sesuai perintah pengguna dan dibaca melalui perintah “cin”. Setelah ini kita sesuaikan ukuran bitnya menjadi 64 bit integer. Kemudian, fungsi to_ulong() dipanggil dari kelas “bitset” ke dalam variabel “decimalNumber”. Fungsi to_ulong() mengonversi kumpulan bit menjadi tipe data panjang yang tidak ditandatangani. Terakhir, kita menggunakan perintah “cout” untuk mencetak nilai desimal dari nilai biner yang diberikan oleh pengguna.

Nilai biner yang diberikan oleh pengguna kini diubah menjadi nilai desimal:

Kesimpulan

Sebagai kesimpulan, kami membahas metode mengubah nilai biner menjadi nilai desimal. Kami menggunakan perulangan “for”, perulangan “sementara”, dan pendekatan kelas bitset untuk konversi biner ke desimal. Pendekatan ini mengubah bilangan biner menjadi sistem desimal yang memfasilitasi pembacaan dan pemahaman.