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!

🙂

Iklan
Perihal

Cek situs kami di http://teknikelektrolinks.com. Blog Raspberry Pi: http://raspi.teknikelektrolinks.com

Tagged with: , , , ,
Ditulis dalam C/C++, Software/Programming

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

Kategori

Bergabunglah dengan 2.503 pengikut lainnya

Hot Links




Display Counter 3-Digit Dengan Koneksi Wi-Fi
Display Nomor Antrian WiFi Android
Mengontrol Relay Via USB/Serial dan Wi-Fi
USB Relay USB-2REL
USB Relay USB-4REL
Water Level Control WLC-02
Serial Relay SER-4REL
NEO STARDUINO SMS ALARM

Alarm SMS Berbasis NEO STARDUINO

1 PC – 6 Unit USB-2REL

Testing 6 USB-2REL Pada 1 Komputer

Standard Pengujian USB-2REL

Pengujian USB-2REL Sebelum Dikirim

LPT-4REL on Knoppix 7.0.5

Testing LPT-4REL on Knoppix Linux

T101 Inkubator Telur

T101 Inkubator Penetas Telur

KONTROL PERALATAN LISTRIK VIA PORT LPT KOMPUTER

Demo Kontrol Kontaktor via Port LPT

STARDUINO meets ANDROID

Demo Kontrol Bluetooth Relay Android

STARDUINO SMS RELAY

Kontrol Relay Via SMS Dengan Starduino

STARDUINO WEB RELAY

Demo Kontrol Relay Via Web/Internet

JustBASIC USB-2REL Control

Demo Kontrol USB-2REL + JustBASIC

STARDUINO + GPS + LCD

Demo Starduino GPS Dengan LCD

USB-2REL EXTREME TEST

Demo Kontrol On/Off Lampu USB-2REL

THERMOSTAT T101 IN ACTION

Demo Thermostat T101 Pada SV=37.5°C

WATER LEVEL CONTROL WLC-02

Demo Kontrol Level Air Tandon WLC-02

HUMIDITY CONTROLLER H103

Demo Kontrol Kelembaban H103 (DHT11)

%d blogger menyukai ini: