Penukaran Perduaan kepada Perpuluhan dalam C++

Penukaran Perduaan Kepada Perpuluhan Dalam C



Dalam artikel, kita akan melihat penukaran nilai binari kepada nilai perpuluhan dalam program C++. Nombor perduaan diwakili oleh 0 dan 1 digit, manakala nilai perpuluhan mengandungi digit yang berjulat dari 0 hingga 9. Untuk mencapai penukaran binari kepada perpuluhan, nilai perduaan hendaklah didarabkan dengan 2 dinaikkan kepada kuasa ā€œ nā€ bermula dari kanan dan bergerak ke kiri dengan ā€œnā€ yang lebih tinggi. Mari kita laksanakan ini dalam kod untuk mengubah binari kepada nilai perpuluhan.

Contoh 1: Program Perduaan kepada Perpuluhan Menggunakan Gelung 'Semasa'.

Kami mempunyai program berikut untuk menukar nombor daripada binari kepada perpuluhan. Dalam program ini, kami menggunakan gelung 'semasa' untuk penukaran binari kepada perpuluhan.

#include
#include

menggunakan ruang nama std ;

int conversionOfBin ( panjang panjang ) ;

int utama ( ) {
panjang panjang pada satu ;
cout << 'Nombor Perduaan Diperlukan:' ;
makan >> pada satu ;
cout << pada satu << 'dalam binari =' << conversionOfBin ( pada satu ) << 'dalam perpuluhan' ;
kembali 0 ;
}

int conversionOfBin ( panjang panjang pada satu ) {
int jadi = 0 , x = 0 , baki ;

sementara ( pada satu ! = 0 ) {
baki = pada satu % 10 ;
pada satu / = 10 ;
dec + = baki * pow ( 2 , x ) ;
++ x ;
}

kembali jadi ;
}

Di sini, kami mentakrifkan fail pengepala 'iostream' untuk aliran input dan output dan 'cmath' untuk menggunakan fungsi matematik dalam program. Selepas itu, kami mentakrifkan fungsi ConversionOfBin() di mana parameter jenis 'long long' diluluskan. Seterusnya, kami mempunyai panggilan fungsi main() untuk melaksanakan program. Kami mengisytiharkan pembolehubah jenis antara panjang yang dipanggil 'num' di dalam fungsi main().







Selepas ini, fungsi ConversionOfBin() menukar nombor binari input kepada nombor perpuluhan. Untuk ini, kami mempunyai takrifan fungsi ConversionOfBin() selepas kod pemacu. Fungsi ConversionOfBin() diluluskan dengan pembolehubah 'num' yang mempunyai nombor binari. Kemudian, kami memanggil gelung 'semasa' untuk menukar nombor perduaan dalam 'num' kepada nilai perpuluhan. Sebelum ini, kami memulakan pembolehubah 'deci', 'x,' dan 'baki' dengan nilai '0'.



Dalam gelung 'semasa', operasi bahagi dijalankan untuk mewakili nilai paling kanan nombor binari. Keputusan pembahagian disimpan dalam pembolehubah 'baki'. Kemudian, kami menambah hasil baki dan keputusan kuasa ke dalam pembolehubah 'deci'. Pembolehubah 'x' terus menilai kuasa aktif 2.



Keputusan menukar nombor binari yang ditentukan kepada nilai perpuluhan dicapai dalam konsol C++:





Contoh 2: Program Perduaan kepada Perpuluhan Menggunakan Gelung 'Untuk'.

Transformasi daripada perduaan kepada perpuluhan telah dicapai menggunakan gelung 'semasa'. Walau bagaimanapun, kita juga boleh menggunakan kaedah gelung 'untuk' untuk menukar bit perduaan kepada nombor perpuluhan.



#include
#include

int utama ( ) {
std :: tali tong sampah ;
std :: cout << 'Input Nombor Perduaan: ' ;
std :: makan >> tong sampah ;

int dec = 0 ;
int asasIs = 1 ;

untuk ( int a = tong sampah. panjang ( ) - 1 ; a >= 0 ; a -- ) {
jika ( tong sampah [ a ] == '1' ) {
dec + = asasIs ;
}
asasIs * = 2 ;
}

std :: cout << 'Keputusan dalam Perpuluhan: ' << dec << std :: endl ;

kembali 0 ;
}

Di sini, kita mulakan dengan program fungsi main() di mana kita mempunyai pembolehubah 'std::string' iaitu 'bin' untuk menyimpan input nombor binari oleh pengguna dalam gesaan. Pada mulanya, gesaan akan meminta pengguna memasukkan nombor perduaan menggunakan pernyataan 'cout'. Kemudian, arahan 'cin' akan membaca nombor binari itu. Selepas itu, kami memulakan pembolehubah 'dec' dengan nilai '0' dan pembolehubah 'baseIs' dengan nilai '1' untuk mendapatkan persamaan perpuluhan.

Kemudian, kami memanggil gelung 'untuk' yang melingkari setiap nombor binari yang ditentukan dari kanan ke kiri. Dalam gelung, kita mempunyai syarat 'jika' untuk mengesahkan sama ada nombor perduaan ialah 1. Jika ia adalah 1, nilai perpuluhan ditambah pada pembolehubah 'dec'. Pembolehubah 'baseIs' mempunyai kuasa 2 untuk didarab dengan 1 pada setiap lelaran.

Nilai nombor binari dan penukarannya kepada nilai perpuluhan ditunjukkan pada skrin gesaan:

Contoh 3: Program Rentetan Perduaan kepada Perpuluhan

Nilai rentetan binari kini ditakrifkan untuk menukar nilainya kepada nilai perpuluhan. Pelaksanaan berikut dilakukan untuk mengubah nilai rentetan binari kepada nilai perpuluhan:

#include
#include
menggunakan ruang nama std ;

int binToDec ( rentetan val )
{
nilai rentetan = val ;
int nilai_perpuluhan = 0 ;

int nilai_asas = 1 ;

int sahaja = nilai. panjang ( ) ;
untuk ( int m = sahaja - 1 ; m >= 0 ; m -- ) {
jika ( val [ m ] == '1' )
nilai_perpuluhan + = nilai_asas ;
nilai_asas = nilai_asas * 2 ;
}

kembali nilai_perpuluhan ;
}

int utama ( )
{
rentetan val = '11100101' ;
cout << binToDec ( val ) << endl ;
}

Di sini, kita mulakan dengan mencipta fungsi BinToDec() untuk penukaran digit binari kepada nilai perpuluhan. Fungsi BinToDec() mengambil hujah 'val' jenis rentetan. Dalam fungsi BinToDec(), kami memulakan pembolehubah 'nilai' dengan pembolehubah 'val' yang mewakili bahawa nilai pembolehubah 'val' akan disimpan dalam pembolehubah 'nilai'. Kemudian, kami mengisytiharkan pembolehubah baharu, 'nilai_perpuluhan', yang diberikan dengan nilai 0.

Begitu juga, pembolehubah 'nilai_asas' ditetapkan dan dimulakan dengan nilai 1. Seterusnya, kami mentakrifkan pembolehubah 'len' di mana fungsi length() dipanggil untuk mendapatkan panjang nombor binari. Selepas permulaan pembolehubah, kita mempunyai lelaran gelung 'untuk'. Gelung 'untuk' mengulangi setiap digit nombor binari dari kanan ke kiri.

Selepas itu, kita mempunyai fungsi main() di mana nombor binari ditentukan sebagai nilai rentetan kepada pembolehubah 'val' yang ditukar kepada nilai perpuluhan seperti yang kita panggil fungsi BinToDec(val) dengan arahan 'cout'.

Nilai binari jenis rentetan kini ditukar kepada nilai perpuluhan seperti yang dipaparkan dalam yang berikut:

Contoh 4: Program Perduaan kepada Perpuluhan Menggunakan Kelas Bitset

Selain itu, kita boleh menukar nombor perduaan kepada nombor perpuluhan dengan mentakrifkan kelas 'bitset' C++ dalam program. Ia menyediakan fungsi yang melaluinya prosedur penukaran adalah sangat mudah.

#include
#include

int utama ( ) {
std :: tali binariIs ;
std :: cout << 'Sila berikan nombor binari: ' ;
std :: makan >> binariIs ;

std :: bitset < 64 > binari ( binariIs ) ;
tidak ditandatangani panjang nombor perpuluhan = binari. terlalu panjang ( ) ;

std :: cout << 'Nombor Perpuluhan:' << nombor perpuluhan << std :: endl ;

kembali 0 ;
}

Di sini, kami menetapkan perpustakaan 'bitset' C++ dalam pengepala yang sangat membantu apabila bekerja dengan nilai binari. Selepas ini, kami mempunyai definisi fungsi main() di mana kami menggunakan 'std::string' untuk mengisytiharkan pembolehubah 'binaryIs'. Pembolehubah 'binaryIs' menyimpan nilai binari dalam rentetan. Seterusnya, kami meminta pengguna menambah nombor binari dalam gesaan oleh pengguna dan ia dibaca melalui arahan 'cin'. Selepas ini, kami melaraskan saiz bit yang boleh menjadi 64 bit integer. Kemudian, fungsi to_ulong() dipanggil daripada kelas 'bitset' ke dalam pembolehubah 'decimalNumber'. Fungsi to_ulong() menukar set bit kepada jenis data panjang yang tidak ditandatangani. Akhir sekali, kami menggunakan arahan 'cout' untuk mencetak nilai perpuluhan nilai binari yang diberikan oleh pengguna.

Nilai binari yang disediakan oleh pengguna kini ditukar kepada nilai perpuluhan:

Kesimpulan

Kesimpulannya, kami meliputi kaedah menukar nilai binari kepada nilai perpuluhan. Kami menggunakan gelung 'untuk', gelung 'semasa', dan pendekatan kelas bitset untuk penukaran binari kepada perpuluhan. Pendekatan ini mengubah nombor binari kepada sistem perpuluhan yang memudahkan pembacaan dan pemahaman.