Belajar Java Konversi Hexadesimal Ke Desimal

Belajar Java Konversi Hexadesimal Ke Desimal

Belajar Java Konversi Hexadesimal Ke Desimal - Untuk sanggup melaksanakan konversi ini, kita harus mengetahui, apa itu bilangan desimal dan bilangan hexadesimal.

Belajar Java Konversi Hexadesimal Ke Desimal Belajar Java Konversi Hexadesimal Ke Desimal
Konversi hexadecimal
Setelah itu kita sanggup mencoba untuk mengkonversi bilangan heksadesimal menjadi bilangan desimal secara perhitungan manual ataupun memakai jadwal Java.

  • Bilangan Desimal

    Bilangan desimal yakni bilangan dengan basis 10 atau sanggup disebut per-sepuluhan.

    Bilangan ini memakai sepuluh simbol berbeda untuk menyatakan nilai dari nol hingga sembilan. Sepuluh simbol yang dipakai dalam sistem angka desimal membentuk basis dari sistem angka desimal.

    Note : Perlu diperhatikan pangkatnya, menyerupai di bawah ini :

    100 = 1
    10110 = 1010
    102 = 100
    103 = 1000
    104 = 10000

    dan seterusnya.

    Sedangkan angka subscript dipakai untuk menunjukkan basis yang digunakan.

    Jadi, misalkan :

    4786410

    Bilangan ini berada dalam basis 10, dan sanggup ditulis :

    4786410 =  4 x 104 + 7 x 103 + 8 x 102 + 6 x 101 + 4 x 100
  • Bilangan Hexadesimal

    Sedangkan bilangan hexadesimal yakni bilangan dengan basis 16 atau per-enam belasan, bilangan ini memakai 16 simbol berbeda untuk menyatakan nilai dari nol hingga lima belas.

    16 simbol angka hexadesimal tersebut akan membentuk basis dari sistem hexadesimal.

    Di bawah ini yakni cara memulai menghitung hexadesimal :

    a) 0 - 15 : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
    b)16 - 32 :  10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20

    Perhatikan nilai di bawah ini :

    160 = 1
    16110 = 1610
    162 = 256
    163 = 4096
    164= 65536
    165= 1048576

    jikalau kita menunjukkan ini dalam hexadesimal, maka ditulis 1016, 100, 1000 dan seterusnya. Sedangkan angka subscript dipakai untuk menunjukkan basis yang digunakan.

    Misalkan :

    10016 yakni '100 dalam basis 16'.

Cara Konversi Dari Hexadesimal Ke Desimal Cara Manual

Berlatih secara menual mengkonversi bilangan dari hexadesimal ke desimal yakni cara yang sangat baik untuk cepat memahami dan familiar dengan basis ini.
Misalkan :

AF7116, jikalau dikonversi ke bilangan desimal :
  1. Tulis setiap digit terpisah, lihat nilai perpangkatan hexadesimal di atas.
    AF7116 = A x 409610 + F x 25610 + 7 x 1610 + 1 x 1
  2. Kemudian konversi nilai non-desimal menjadi nilai desimal :
    A x 409610 = 1010 x 409610
    F x 25610 = 1510 x 25610
  3. Hitung jumlah keseluruhan :
  4. AF7116 = 40960 + 3840 + 112 + 1
    AF7116 = 44913

    maka 44913  yakni nilai desimalnya
Misalkan 1D :
1D = 1 x 16 + 13
1D = 29 
Kaprikornus nilai desimal dari 1D yakni 29.

Cara Konversi Dari Hexadesimal Ke Desimal Menggunakan Program Java

Bagaimana bila konversi memakai jadwal Java?

Algoritma yang dipakai untuk konversi hexadesimal ke desimal yakni algoritma Horner, isyarat dengan algoritma ini populer cukup efisien.

Algoritmanya yakni :
  • Mengkonversi setiap hex char menjadi angka desimal
  • Mengalikannya dengan 16i untuk digit hexadecimal  pada posisi i 
  • Menjumlahkan semuanya secara keseluruhan untuk mendapatkan  nilai desimal yang equivalen untuk angka hexadesimal tersebut.
Misal :

A8FD16


Nilai dari ((10*16+8)*16+15) *16 + 13 = 43261, dan ini yakni nilai konversi dari A8FD menjadi desimal.

 
Bila dituangkan kedalam coding, algoritma ini menjadi :

int nilaiDesimal = 0;                    for (int i = 0; i < hex.length(); i++) {                              //method charAt() dipakai untuk               //mengembalikan nilai char pada index tertentu               char hexChar = hex.charAt(i);               nilaiDesimal = nilaiDesimal * 16 + hexCharKeDesimal(hexChar);               } 

Di bawah ini yakni teladan jadwal untuk mengkonversi angka hexadecimal menjadi angka desimal :

import java.util.Scanner;        public class KonversiHexadesimal {                       public static void main(String[] args) {                      Scanner input = new Scanner(System.in);                      /** Membuat prompt untuk memasukkan hexadesimal */           System.out.print("Masukkan angka hexadesimal: ");                      /** Input hexadesimal yakni dalam bentuk String */           String hexadecimal = input.nextLine();                      /** Menampilkan nilai desimal sehabis dikonversi dari hexadesimal           dengan memanggil method konversiHexadecimal           nilai yang diinput sanggup berupa lowercase atau uppercase           namun semuanya diubah menjadi uppercase memakai .toUppercase            sebelum method konversiHexadecimal dipanggil */          System.out.println("Nilai desimal untuk angka hexadesimal "           + hexadecimal + " yakni " + konversiHexadecimal(hexadecimal.toUpperCase()));           }            /** Method untuk mengkonversi hexadesimal memakai loop */      public static int konversiHexadecimal(String hex) {                      int nilaiDesimal = 0;                      for (int i = 0; i < hex.length(); i++) {                                /**method charAt() dipakai untuk                mengembalikan nilai char pada index tertentu */                char hexChar = hex.charAt(i);                nilaiDesimal = nilaiDesimal * 16 + hexCharKeDesimal(hexChar);                }           /** mengembalikan nilai desimal */          return nilaiDesimal;                 }            /** Method untuk mengembalikan nilai desimal dari hex character */      public static int hexCharKeDesimal(char ch) {           if (ch >= 'A' && ch <= 'F')                return 10 + ch - 'A';           else // ch yakni '0', '1', ..., atau '9'                return ch - '0';           }   } 

Penjelasan :
  • Pada line 14, jadwal akan membaca nilai String.
  • Pada line 22, jadwal akan memanggil method konversiHexadecimal untuk mengkonversi hex String menjadi nilai desimal. Character ini sanggup berupa lowercase ataupun uppercase. Mereka dikonversi menjadi uppercase terlebih dahulu sebelum method konversiHexadecimal dipanggil.
  • Pada line 26 - 40, method konversiHexadecimal, jadwal akan mengembalikan nilai integer. Panjang dari string ditetapkan dengan memanggil method hex.length pada line 30.
  • Pada line 43 - 49, akan mengembalikan nilai desimal untuk hex character. Character sanggup sebagai uppercase ataupun lowercase. Harap diingat bahwa untuk pengurangan dua character yakni dengan mengurangi Unicodenya.
    Contoh : '4' - '0' yakni 4.
Demikianlah Belajar Java Konversi Hexadesimal Ke Desimal, agar sanggup menambah pengetahuan kita semua.

Belum ada Komentar untuk "Belajar Java Konversi Hexadesimal Ke Desimal"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel