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.
Setelah itu kita sanggup mencoba untuk mengkonversi bilangan heksadesimal menjadi bilangan desimal secara perhitungan manual ataupun memakai jadwal Java.Konversi hexadecimal |
- 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 :
- Tulis setiap digit terpisah, lihat nilai perpangkatan hexadesimal di atas.
AF7116 = A x 409610 + F x 25610 + 7 x 1610 + 1 x 1 - Kemudian konversi nilai non-desimal menjadi nilai desimal :
A x 409610 = 1010 x 409610
F x 25610 = 1510 x 25610 - Hitung jumlah keseluruhan :
AF7116 = 40960 + 3840 + 112 + 1
AF7116 = 44913
maka 44913 yakni nilai desimalnya
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.
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.
Belum ada Komentar untuk "Belajar Java Konversi Hexadesimal Ke Desimal"
Posting Komentar