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

avatar nyepill
@nyepill

1 Kontribusi 0 Poin

Diperbarui 2 tahun yang lalu

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&nbsp; &nbsp; &nbsp; &nbsp;9 % 2 hasilnya 1 dapat 4<br>ketiga&nbsp; &nbsp; &nbsp; &nbsp;4 % 2 hasilnya 0 dapat 2<br>keempat &nbsp; 2 % 2 hasilnya 0 dapat 1<br>kelima&nbsp; &nbsp; &nbsp; &nbsp;1 % 2 hasilnya 1 dapat 0&nbsp;<br><br>bilangan decimal 19 adalah 10011</div>

avatar lionkip
@lionkip

64 Kontribusi 49 Poin

Dipost 2 tahun yang lalu

Tanggapan

dari bawah bro... 19 itu 10011

fix thanks gan

<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,,,&nbsp;<br>contoh : 8%5=3 &gt;&gt;&gt; 8/5=1 sisa 3<br>di kasus ini, pake %2 berarti hasilnya antara 1 atau 0&nbsp;</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&nbsp;<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 &gt;&gt; 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&nbsp; = 1 &gt;&gt; karena d sudah berubah jd 7<br>d =7/2 = 3 &gt;&gt; d berubah menjadi 3<br>b = 0 + (110) = 10<br>i = 10 * 10 = 100<br>============while=============<br>s = 3%2&nbsp; = 1<br>d =3/2 = 1 &gt;&gt; d berubah menjadi 1<br>b = 10 + (1100) = 110<br>i = 100 * 10 = 1000<br>============while=============<br>s = 1%2&nbsp; = 1<br>d =1/2 = 0 &gt;&gt; d berubah menjadi 0<br>b = 110 + (11000) = 1110<br>i = 1000 * 10 = 10000<br>-----------while berakhir karena !(d&gt;0) -------------------<br><br>dapat di lihat dari hasilnya maka biner dari 14 adalah 1110 (b)</div>

avatar yukari06
@yukari06

137 Kontribusi 66 Poin

Dipost 2 tahun yang lalu

Tanggapan

maap kalo ga rapi, sangat berantakan,,, namun semoga dapat membantu

Login untuk ikut Jawaban