Tutorial Bahasa C/C++: Konversi Bilangan Desimal Ke Bilangan Hexa


Cimage

Salam C!

Bilangan hexadesimal merupakan representasi bilangan yang penting di dunia elektronika dan pemrograman komputer. Representasi bilangan yang komponen digitnya ada 16, yakni 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F atau bilangan basis 16 ini boleh saya bilang sebagai representasi yang paling dekat dengan bilangan biner, karena dapat dengan mudah mengafal nilai hexadesimal dari bilangan biner 0000 – 1111.

Biner 0000 0001 0010 0011 0100 0101 0110 0111
Hexadesimal 0 1 2 3 4 5 6 7
Biner 1000 1001 1010 1011 1100 1101 1110 1111
Hexadesimal 8 9 A B C D E F

Dari tabel konversi bilangan biner ke hexa mulai 0000 sampai dengan 1111, kita dapat langsung mencari nilai bilangan hexa dari 1010-1010 misalnya, yakni AA.

Nah, berikut ini adalah source code untuk mengkonversi bilangan desimal (basis 10) ke bilangan hexa dalam bahasa C tentunya.

/*
    Contoh program konversi bilangan desimal ke hexadesimal
    Chandra MDE – Teknik Elektro Links (http://teknikelektrolinks.com)
*/

#include <stdio.h>

static char hexstr[17] = "0123456789ABCDEF";
int desimal, x, y;
char hexa[10];

int main()
{
    printf("———————————————————\n");
    printf(" Contoh program konversi bilangan desimal ke hexadesimal \n");
    printf("———————————————————\n");
    printf(" Masukkan bilangan desimal = ");
    scanf("%d", &desimal);
    x = desimal;
    y = 0;
    while(x>0)
    {
        hexa[y] = hexstr[x % 16];
        y++;
        x = x / 16;
    }
    printf(" Bilangan %d desimal = ", desimal);
    for (x=1; x<=y;  x++)
        printf(hexa[y-x]);
    printf(" hexa\n");
    printf("———————————————————\n");
    return 0;
}

Program ini mengkonversi layaknya kita mengkonversi bilangan desimal ke bilangan hexa secara manual dengan pembagian bersusun.

Sisa pembagian 16 (sisa hasil bagi) direpresentasikan menjadi digit hexa antara 0123456789ABCDEF. Variabel char hexa[10] digunakan untuk menampung data digit hexa dari sisa hasil bagi bilangan desimal dengan 16. Ilustrasinya adalah sebagai berikut.

145 : 16 = 9, sisa 1 –> hexa[0] = hexstr[1] = ‘1’

9 : 16 = 0, sisa 9 –> hexa[9] = hexstr[9] = ‘9’

Jadi nilai hexa dari 145 adalah 91

Oleh karenanya untuk menampikan hasil konversi dilakukan pencetakan per karakter mulai dari urutan yang terakhir.

for (x=1; x<=y; x++)
    printf(hexa[y-x];

Dan berikut adalah screenshot program tersebut.

int2hex_ch

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
2 comments on “Tutorial Bahasa C/C++: Konversi Bilangan Desimal Ke Bilangan Hexa
  1. fajri berkata:

    ijin cb gan…thax…

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.501 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: