Postingan lainnya
Program C Languange untuk mengubah bilangan desimal ke biner
halo semua, saya dapet kode di gambar itu dari web luar negri yang membahas program konversi bilangan desimal ke biner dengan bahasa C, nama variabelnya sudah saya ubah dikit2. Saya mau tanya bagaimana penjelasan dari kode tersebut sehingga hasilnya sudah sesuai? seperti kenapa i nya harus 1, kenapa dikali 10 di akhir, dll. terima kasih sebelumnya.
oiya itu b = 0 ya, maaf ketutupan hehe
2 Jawaban:
<div>10 adalah pecahan desimal 0 sampai 9<br><br>conthoh:<br>d = 19<br>modulus tanda %
adalah untuk membagi hasil 9 % 3
hasilnya 0 sedankan "1 % 3", "4 % 3", dan "7 % 3" hasilnya 1<br><br>pertama 19 % 2 hasilnya 1 dapat 9<br>kedua 9 % 2 hasilnya 1 dapat 4<br>ketiga 4 % 2 hasilnya 0 dapat 2<br>keempat 2 % 2 hasilnya 0 dapat 1<br>kelima 1 % 2 hasilnya 1 dapat 0 <br><br>bilangan decimal 19 adalah 10011</div>
<div>untuk penamaan, printf dan scanf ga perlu di jelasin yaa<br><br></div><pre>s = d%2;</pre><div>% itu gampangnya untuk mencari tau sisa pembagian,,, <br>contoh : 8%5=3 >>> 8/5=1 sisa 3<br>di kasus ini, pake %2 berarti hasilnya antara 1 atau 0 </div><pre>d = d/2;</pre><div>ini ga perlu di jelasin lah yaaa,,, intinya d/2,, dan sisanya jadi ga keliatan ato di bulatkan,,<br><br></div><pre>b = b + (s * i);</pre><div>skrip ini intinya buat penjumlahan satuan, puluhan, ratusan, dsb-nya,,, nanti bakal ketauan di pembahasan while nya<br><br></div><pre>i = i * 10;</pre><div>ini digunakan untuk membuat b (yang mau dipanggil) menjadi bernilai satuan, puluhan, ratusan, dsb <br><br></div><pre>while()</pre><div>ga perlu di jelasin apa itu while, langsung contoh kasus<br>misal d = 14<br>maka masuk ke program:<br>s = 14%2 = 0<br>d = 14/2 = 7 >> d berubah menjadi 7<br>b = 0 + (0 1) = 0 (ngambil datanya dari atas yang ketutupan itu)<br>i = 1 * 10 = 10 i berubah menjadi 10<br>============while=============<br>s = 7%2 = 1 >> karena d sudah berubah jd 7<br>d =7/2 = 3 >> d berubah menjadi 3<br>b = 0 + (110) = 10<br>i = 10 * 10 = 100<br>============while=============<br>s = 3%2 = 1<br>d =3/2 = 1 >> d berubah menjadi 1<br>b = 10 + (1100) = 110<br>i = 100 * 10 = 1000<br>============while=============<br>s = 1%2 = 1<br>d =1/2 = 0 >> d berubah menjadi 0<br>b = 110 + (11000) = 1110<br>i = 1000 * 10 = 10000<br>-----------while berakhir karena !(d>0) -------------------<br><br>dapat di lihat dari hasilnya maka biner dari 14 adalah 1110 (b)</div>
Tanggapan
maap kalo ga rapi, sangat berantakan,,, namun semoga dapat membantu