Binäre Zeichenkette in Int in Java umwandeln

Rupam Yadav 12 Oktober 2023
  1. Konvertieren einer binären Zeichenkette in Int in Java mit Integer.parseInt()
  2. Konvertieren einer binären Zeichenkette in Int in Java mit Math.pow()
Binäre Zeichenkette in Int in Java umwandeln

Binär besteht aus zwei Zahlen, 0 und 1, und diese Zahlen werden verwendet, um verschiedene Arten von Anweisungen für Maschinen zu schreiben. Für Menschen ist es jedoch schwierig, diese binären Codes zu lesen. Deshalb gibt es verschiedene Techniken, um das Binärformat in ein für Menschen lesbares Format umzuwandeln.

In diesem Lernprogramm werden wir die zwei Methoden durchgehen, die wir verwenden können, um eine binäre Zeichenkette in eine int zu konvertieren. Unser Ziel ist es, die binäre Zeichenkette zu analysieren, um eine int auszugeben, die diese binäre Zahl repräsentiert.

Konvertieren einer binären Zeichenkette in Int in Java mit Integer.parseInt()

Die erste Methode ist Integer.parseInt(), die die angegebene Zeichenkette in eine int parst. Wenn wir eine Zeichenkette und einen Radix oder den Basiswert an Integer.parseInt() übergeben, gibt sie einen int-Wert zurück, der entsprechend der Radix-Zahl berechnet wird.

Im Beispiel hat binaryString einen binären Wert, der in einen int umgewandelt werden muss. Integer.parseInt(binaryString, 2) erledigt diese Aufgabe für uns. Das erste Argument ist die Zeichenkette, und das zweite Argument ist 2, weil ein Binärwert ein Basis-2-Zahlensystem ist.

Wenn binaryString einen nicht-binären Wert enthält, dann wird eine NumberFormatException geworfen und die Fehlermeldung angezeigt.

public class BinaryStringToInt {
  public static void main(String[] args) {
    try {
      String binaryString = "10010";
      int foo = Integer.parseInt(binaryString, 2);

      System.out.println(foo);
    } catch (NumberFormatException e) {
      System.out.println("Error: The binary string is not valid");
    }
  }
}

Ausgabe:

18

Konvertieren einer binären Zeichenkette in Int in Java mit Math.pow()

In dieser Methode werden wir jedes Zeichen von binaryString überprüfen, da wir wissen, dass ein String in Java eine Folge von Zeichen ist. Wir müssen jedes Zeichen in einer Schleife durchlaufen, bis die Länge des Strings erreicht ist.

Der nächste Schritt besteht darin, das Vorkommen von 1en in binaryString zu überprüfen, da nur die 1en hinzugefügt werden, wenn wir eine Binärzahl in eine Dezimalzahl konvertieren. Wenn eine 1 vorkommt, wird zunächst die Länge von binaryString um 1 und um den Wert der Iteration verringert. Im Fall von 101000 ist also das erste Zeichen eine Eins, was bedeutet, dass int len den Wert 5 haben wird, weil binaryString.length() 6 ist und die Iterationsvariable i den Wert 0 hat, was bedeutet, dass 6 - 1 - 0 5 sein wird.

Nun, da wir 5 erhalten, und es an Math.pow(base, len) als zweites Argument übergeben wird, während das erste Argument die Basis sein wird. Es wird die Basis-2 auf die Zahlen anwenden und dann alle Zahlen addieren, was uns das Ergebnis in int liefert.

public class Main {
  public static void main(String[] args) {
    String binaryString = "101000";
    double convertedDouble = 0;

    for (int i = 0; i < binaryString.length(); i++) {
      if (binaryString.charAt(i) == '1') {
        int len = binaryString.length() - 1 - i;
        convertedDouble += Math.pow(2, len);
      }
    }

    int convertedInt = (int) convertedDouble;
    System.out.println(convertedInt);
  }
}

Ausgabe:

40
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Verwandter Artikel - Java String

Verwandter Artikel - Java Int