Bagaimana Menukar Perpuluhan kepada Perduaan dalam C

Bagaimana Menukar Perpuluhan Kepada Perduaan Dalam C



Sistem komputer kerap menggunakan nombor perduaan untuk mewakili data dan arahan, tetapi memandangkan digit perpuluhan adalah lebih mudah untuk difahami oleh orang ramai daripada binari, maka penukaran diperlukan. Artikel ini akan melalui pemahaman antara perpuluhan kepada perduaan dan menyediakan contoh program kaedah berbeza yang menukar perpuluhan kepada perduaan dalam bahasa pengaturcaraan yang dipanggil C.

Bagaimana Menukar Perpuluhan kepada Perduaan dalam C?

Nilai perpuluhan yang diberikan dibahagikan dengan 2 beberapa kali, dengan bakinya direkodkan sehingga kita sampai ke 0 sebagai hasil bagi akhir. Proses ini digunakan untuk menukar integer daripada perpuluhan kepada perduaan. Formula yang menunjukkan proses penukaran daripada perpuluhan kepada perduaan dianggap sebagai peringkat seperti berikut:







Langkah 1: Cari baki dengan membahagikan nombor dengan 2, kemudian tambahkannya pada tatasusunan.



Langkah 2: Seterusnya, bahagikan baki dengan dua.



Langkah 3: Lakukan dua langkah pertama sekali lagi sehingga hasilnya melebihi 0.





Langkah 4: Paparkan tatasusunan ke belakang untuk mendapatkan bentuk binari nombor. Bit Paling Ketara (LSB) bagi nombor perduaan terletak di bahagian atas, manakala Bit Paling Ketara (MSB) adalah ke arah bawah, yang merupakan satu lagi cara untuk mentafsir perkara ini. Perduaan yang setara dengan nombor perpuluhan yang disediakan adalah yang ini.

Untuk memahami perkara ini dengan lebih baik, berikut ialah penukaran  11 10 dalam perpuluhan kepada penukaran binari:



Pembahagian dengan 2 Quotient Baki
11÷2 5 1 (LSB)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (MSB)


Sekarang, tulis baki dalam susunan terbalik, oleh itu, perpuluhan (11 10 ) menjadi (1011 2 ).

Bakinya akan dicatat dan kemudian ditulis supaya (MSB) nombor binari didahulukan, kemudian yang lain. Akibatnya, 1011 2 ialah persamaan binari bagi nilai perpuluhan yang diberi 11 10 . Akibatnya, 11 10 = 1011 2 . Berikut ialah pelaksanaan perpuluhan yang disebutkan di atas kepada penukaran binari dalam bahasa C.

Kaedah Digunakan untuk Menukar Perpuluhan kepada Perduaan

Kaedah ini yang digunakan dalam bahasa C menukar digit perpuluhan kepada binari:

Sekarang, laksanakan penukaran perpuluhan kepada perduaan dengan satu dengan pendekatan yang dinyatakan di atas.

Kaedah 1: Perpuluhan kepada Perduaan dalam Pengaturcaraan C dengan untuk Gelung

Di bawah ialah penukaran digit perpuluhan(11) kepada binari dengan bantuan gelung untuk dalam C:

#include
batal tukar ( int num1 ) {
jika ( nombor1 == 0 ) {
printf ( '0' ) ;
kembali ;
}
int binary_num [ 32 ] ; // Andainya 32 bit integer.
int i = 0 ;
untuk ( ;nombor1 > 0 ; ) {
nombor_perduaan [ i++ ] = nombor1 % 2 ;
nombor1 / = 2 ;
}
untuk ( int j = i- 1 ; j > = 0 ; j-- )
printf ( '%d' , bilangan_perduaan [ j ] ) ;
}
int utama ( ) {
int num1;
printf ( 'Masukkan nombor perpuluhan: ' ) ;
scanf ( '%d' , & nombor1 ) ;
menukar ( nombor1 ) ;
kembali 0 ;
}


Program di atas menggunakan gelung for untuk menukar nombor perpuluhan yang diberikan oleh pengguna kepada binari. Outputnya ialah:

Kaedah 2: Perpuluhan kepada Perduaan dalam Pengaturcaraan C dengan Loop while

Dalam kaedah ini, gelung sementara dalam C digunakan untuk menukar digit perpuluhan (11), kepada binari, seperti ditunjukkan di bawah:

#include
int utama ( ) {
int decimal_num, binary_num = 0 , asas = 1 , baki;
printf ( 'Masukkan nombor perpuluhan: ' ) ;
scanf ( '%d' , & nombor_perpuluhan ) ;
sementara ( nombor_perpuluhan > 0 ) {
baki = nombor_perpuluhan % 2 ;
binary_num = binary_num + baki * asas;
nombor_perpuluhan = nombor_perpuluhan / 2 ;
asas = asas * 10 ;
}
printf ( 'Perduaan nombor perpuluhan yang diberikan dengan gelung while ialah: %d' , bilangan_perduaan ) ;
kembali 0 ;
}


Empat pembolehubah integer decimal_num, binary_num, asas, dan baki mula-mula diisytiharkan dalam atur cara ini. Pengguna memasukkan nombor_perpuluhan, yang akan kami tukarkan kepada nombor_perduaannya. Penukaran binari dijalankan menggunakan gelung while.

Kaedah 3: Perpuluhan kepada Perduaan dalam Pengaturcaraan C dengan Tindanan

Ini ialah kaedah mudah dengan program C berasaskan tindanan yang menukar nilai perpuluhan kepada binari:

#include

#define MAX_SIZE 32 // bilangan maksimum bit dalam perwakilan binari
int utama ( ) {
int decimal_num, binari [ MAX_SIZE ] , atas = -1 ;
printf ( 'Sila Masukkan sebarang nombor perpuluhan: ' ) ;
scanf ( '%d' , & nombor_perpuluhan ) ;
sementara ( nombor_perpuluhan > 0 ) {
binari [ ++ atas ] = nombor_perpuluhan % 2 ;
nombor_perpuluhan / = 2 ;
}
printf ( 'Perduaan %d menggunakan kaedah tindanan ialah: ' ) ;
sementara ( atas > = 0 ) {
printf ( '%d' , binari [ atas-- ] ) ;
}
kembali 0 ;
}


Kami mula-mula mengisytiharkan tiga pembolehubah integer atas, perduaan dan nombor_perpuluhan dalam program ini. Bahagian atas ialah indeks elemen tertinggi dalam tindanan, perpuluhan ialah nombor dalam bentuk perpuluhan yang dimasukkan oleh pengguna, binari ialah tatasusunan yang akan mengandungi bit dalam binari kerana bit MAX_SIZE dan nombor_perpuluhan ialah tatasusunan binari. Selepas itu, penukaran binari dijalankan menggunakan gelung sementara.

Outputnya ialah:

Kaedah 4: Perpuluhan kepada Perduaan dalam Pengaturcaraan C dengan Operator Bitwise

Pengendali yang dikenali sebagai operasi bitwise memanipulasi setiap bit simbol binari yang mewakili integer. Berikut ialah skrip C asas yang menggunakan operasi bitwise untuk menterjemah nombor dalam perpuluhan kepada binari:

#include

// Kaedah ini akan menunjukkan semua 4 bit nombor
penukaran batal ( int num1 ) {
// Pertimbangkan a 4 -nombor bit
untuk ( int i = 3 ; i > = 0 ; saya-- ) {
int bit = ( 1 << i ) ;
jika ( nombor1 & sedikit )
printf ( '1' ) ;
lain
printf ( '0' ) ;
}
}
int utama ( ) {
int num1;
printf ( 'Masukkan nombor perpuluhan: ' ) ;
scanf ( '%d' , & nombor1 ) ;
penukaran ( nombor1 ) ;
kembali 0 ;
}


Atur cara ini akan melaksanakan gelung for melalui nombor bermula pada bit paling ketara dan berakhir pada bit dengan paling kecil kepentingannya. Dengan melakukan operasi 'bitwise AND' pada mask dan num, kami boleh menentukan sama ada bit itu sama ada 0 atau 1. Jika ia bukan sifar, bit sekarang ialah 1; jika tidak, ia adalah 0.

Untuk menunjukkan bentuk binari num1, keluarkan bit selepas setiap lelaran. Output akhir selepas pelaksanaan lengkap adalah seperti di bawah:

Kesimpulan

Ia merupakan kemahiran penting dalam pengaturcaraan komputer untuk menukar nombor daripada perpuluhan kepada perduaan. Mengubah nombor perpuluhan kepada binari membolehkan kami menjalankan operasi yang berbeza dalam pengaturcaraan C. Artikel ini menyediakan 4 kaedah untuk menukar nilai perpuluhan kepada nilai binari.