Perlu diketahui, tiap posisi bit sebelah kiri selalu berukuran 2 kali lipat dari bit sebelah kanannya. Bit paling kanan adalah paling rendah (LSB=Low Significant Bit), yang paling kiri adalah paling tinggi. Ibarat kalo desimal, paling kanan adalah satuan (paling rendah) dan paling kiri adalah paling tinggi (bisa ribuan, jutaan tergantung jumlah digit).
Kembali ke bit-bit biner, sehingga untuk menghitung nilai decimal dari digit biner ke-n, gunakan 2 pangkat n. Dimana digit paling kanan (paling rendah) dimulai dari n=0. Jadi 2^0=1, 2^1=2, 2^2= 4, 8, 16, 32, 64, 128, dst (2x lipatnya).
Algoritma konversi (kalimat)
- Baca bilangan biner dari keyboard dan simpan ke dalam variabel biner.
- Validasi string biner, jika ada karakter selain 0 atau 1, maka ulang ke baris ke-1.
- Hitung jumlah digit dari variabel biner dan simpan ke variabel ulang. Ulang = length(biner)
- Deklarasikan variabel total, hitung serta c = 0.
- Cek apakah c < ulang, jika ya, lanjutkan ke baris 6, jika tidak, maka lompat ke baris 11
- Ambil satu digit diposisi ulang - c, lalu simpan dalam variabel b.
- hitung = b * (2 pangkat c).
- total = total + hitung.
- c = c + 1
- Lanjutkan ke baris 5
- Cetak total.
- Selesai.
Tidak ada komentar:
Posting Komentar