Tutorial Bahasa C/C++: Fungsi Konversi Bilangan DESIMAL ke BINER


image Ayo belajar C!

Kali ini kita akan berlatih pemrograman bahasa C dengan membuat fungsi konversi bilangan desimal menjadi bilangan biner dengan teknik bagi-2 sebagaimana kalau kita mengkonversikan bilangan basis 10 (desimal) ke bilangan basis 2 (biner).

Bilangan desimal akan kita deklarasikan sebagai unsigned char (8-bit=1 byte) untuk range nilai 0-255 desimal. Dan fungsi konversi byte2bin() kita deklarasikan sebagai fungsi yang mengembalikan nilai representasi biner dengan tipe data string.

Berikut adalah listing programnya.

/*
    Fungsi konversi BYTE ke BINER
    Chandra MDE – Teknik Elektro Links
    (http://teknikelektrolinks.com)
*/

#include <stdio.h>

char *byte2bin(unsigned char n)
{
    static char bin_str[10] = "0000-0000";
    unsigned char x, y;

    y = 8;
    x = n;

    while(x>0)
    {
        if (x % 2==0)
            bin_str[y] = ‘0’;
        else
            bin_str[y] = ‘1’;
        y–;
        if (y==4) y–;
        x = x / 2;
    }
    return bin_str;
}

/* Program Utama */
int main()
{
    unsigned char my_byte;
   
    printf("==============================================\n");
    printf("  Program konversi bilangan desimal ke biner\n");
    printf("———————————————-\n");
    my_byte = 221;    //bilangan desimal (0-255)
    printf("  %i desimal = %s biner\n", my_byte, byte2bin(my_byte));
    printf("==============================================\n");
    return 0;
}

Baris perintah char *byte2bin(unsigned char n) mendeklarasikan fungsi byte2bin dengan parameter masukan n yang bertipe data unsigned char (byte). Fungsi ini mengembalikan nilai berupa string yang merepresentasikan nilai biner dari n.

Untuk sedikit mempercantik tampilan, hasil konversi biner ditulis dalam format hi-nibble–low-nible atau xxxx-xxxx, sehingga lebih mudah dibaca.

Berikut adalah screenshot hasil running program di atas menggunakan ChSciTE (IDE freeware untuk interpreter Ch).

image

Buruan download Ch dan ChSciTE, dan ayo belajar C!

Selamat belajar!

🙂

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s