Heim  >  Artikel  >  Java  >  Java-Programm: Hexadezimal-Dezimal-Konvertierung

Java-Programm: Hexadezimal-Dezimal-Konvertierung

WBOY
WBOYnach vorne
2023-08-26 13:01:053789Durchsuche

Java-Programm: Hexadezimal-Dezimal-Konvertierung

Es gibt vier Arten von Zahlensystemen: binär, oktal, dezimal und hexadezimal, mit den Basiswerten 2, 8, 10 bzw. 16. Der Grundwert hängt von der Anzahl der Ziffern ab, die das Zahlensystem enthält. Beispielsweise enthält das binäre Zahlensystem nur zwei Ziffern, 0 und 1, daher ist seine Basis 2.

In diesem Artikel besprechen wir hexadezimale und dezimale Zahlensysteme. Außerdem werden wir ein Java-Programm schreiben, um eine Hexadezimalzahl in eine Dezimalzahl umzuwandeln.

Hex- und Dezimalzahlensysteme

Hexadezimales Zahlensystem

Es stellt Zahlen von 0 bis 9, A bis F dar. Insgesamt gibt es 16 Zahlen und der Grundwert beträgt ebenfalls 16. Das Gewicht einzelner Zahlen ist eine Potenz von 16, sodass jede Zahl 16-mal schwerer ist als die vorherige. 12A16, 34B16, 45C16 sind einige Beispiele für Hexadezimalzahlen. In Computern werden Farbcodes üblicherweise in hexadezimaler Form geschrieben.

Angenommen, wir müssen einen großen Dezimalwert speichern. Wenn wir ihn in einem binären Zählsystem speichern, kann die Binärzeichenfolge sehr lang werden. In diesem Fall können wir das hexadezimale Zahlensystem verwenden, das 4 Binärbits als 1 Bit speichern kann. Es verkürzt die Bitlänge.

Dezimalzahlensystem

Es ist das am häufigsten verwendete Zahlensystem. Es hat 10 Ziffern von 0 bis 9. Daher beträgt sein Basiswert 10. Wenn der Basiswert einer Zahl nicht angegeben ist, wird davon ausgegangen, dass die Zahl 10 ist. Einzelne Zahlen werden als Zehnerpotenzen gewichtet, sodass jede Zahl zehnmal gewichtiger ist als die letzte. Zum Beispiel 1010, 43110, 98010 usw.

Die folgende Tabelle stellt die Binär- und Dezimalwerte aller Hexadezimalzahlen dar -

binär

Dezimal

Hex

0001

1

1

0010

2

2

0011

3

3

0100

4

4

0101

5

5

0110

6

6

0111

7

7

1000

8

8

1001

9

9

1010

10

A

1011

11

B

1100

12

C

1101

13

D

1110

14

E

1111

15

F

Hex-zu-Dezimal-Konvertierung

Lassen Sie uns verstehen, wie man Hexadezimalzahlen in Dezimalzahlen umwandelt.

Beispiel 1

Hexadezimal (54A)16 in Dezimalzahl umwandeln -

Wir können jede Zahl in eine Dezimalzahl umwandeln, indem wir sie mit 16n-1 multiplizieren, wobei n die Anzahl der Ziffern ist.

(54A)16 = 5 * 163-1 + 4 * 162-1 + A * 161-1

= 5 * 162 + 4 * 161 + 10 * 160 [A = 10 Dezimaltabelle]

= 5 * 256 + 64 + 10 [160 entspricht 1]

= 1280 + 74

= 1354

Jetzt sehen wir ein Java-Programm, in dem wir die obige Logik anwenden, um Hexadezimalzahlen in Dezimalzahlen umzuwandeln.

Methode 1: Verwenden Sie die parseInt()-Methode

Es handelt sich um eine statische Methode der Klasse „Integer“, die einen Dezimalwert entsprechend der angegebenen Basis zurückgibt. Es ist im Paket „java.lang“ verfügbar.

Grammatik

Integer.parseInt("String", base); 

Parameter

  • String – der zu konvertierende Wert

  • Basis – Der angegebene Wert wird entsprechend der angegebenen Basis umgerechnet

Beispiel

public class Conversion {
   public static void main(String args[]) {  
      // Converting and storing hexadecimal value to dec1 and dec2 with base 16  
      int dec1 = Integer.parseInt("54A", 16);
      int dec2 = Integer.parseInt("41C", 16);
      System.out.println("Decimal value of given Hexadecimal: " + dec1);
      System.out.println("Decimal value of given Hexadecimal: " + dec2);
   }
}

Ausgabe

Decimal value of given Hexadecimal: 1354
Decimal value of given Hexadecimal: 1052

Methode 2: Benutzerdefinierte Methode verwenden

In dieser Methode erstellen wir eine benutzerdefinierte Methode cnvrt() mit dem Parameter „hexNum“. Wir werden „hexStr“ deklarieren und initialisieren, das alle hexadezimalen Ziffern in Form einer Zeichenfolge speichert. Anschließend führen wir eine for-Schleife durch, bis die Länge des Parameters „hexNum“ erreicht ist. In dieser Schleife erhalten wir das Zeichen und seinen Index von „hexStr“ und wenden dann die Konvertierungslogik an.

In der Hauptmethode rufen wir die Methode „cnvrt()“ mit verschiedenen Parametern auf.

Beispiel

public class Conversion {
   public static void cnvrt(String hexNum) {
      // storing all the hexadecimal digits to this string 
      String hexStr = "0123456789ABCDEF"; 
      // converting given argument to uppercase
      hexNum = hexNum.toUpperCase();   
      int dec = 0;  
      for (int i = 0; i < hexNum.length(); i++) {  
         char ch = hexNum.charAt(i); 
         // fetching characters sequentially 
         int index = hexStr.indexOf(ch); 
         // fetching index of characters  
         dec = 16 * dec + index; 
         // applying the logic of conversion 
      }
      System.out.println("Decimal value of given Hexadecimal: " + dec); 
   }
   public static void main(String args[]) {
      // calling the function with arguments
      cnvrt("54A"); 
      cnvrt("41C");  
   }
}

Ausgabe

Decimal value of given Hexadecimal: 1354
Decimal value of given Hexadecimal: 1052

Fazit

In diesem Artikel haben wir etwas über die Arten von Zahlensystemen gelernt. Diese Zahlensysteme sind die Grundlage jeder mathematischen Operation. Darüber hinaus werden zwei Methoden zur Erstellung von Java-Programmen zur Konvertierung von Hexadezimalzahlen in Dezimalzahlen besprochen.

Das obige ist der detaillierte Inhalt vonJava-Programm: Hexadezimal-Dezimal-Konvertierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen