Converti stringa binaria in Int in Java
-
Converti una stringa binaria in Int in Java utilizzando
Integer.parseInt()
-
Converti una stringa binaria in Int in Java usando
Math.pow()
Il binario è composto da due numeri, 0 e 1, e questi numeri vengono utilizzati per scrivere diversi tipi di istruzioni per le macchine. Ma è difficile per gli esseri umani leggere questi codici binari. Questo è il motivo per cui esistono varie tecniche per convertire il binario in un formato leggibile dall’uomo.
In questo tutorial, esamineremo i due metodi che possiamo usare per convertire una stringa binaria in un int
. Il nostro obiettivo è prendere il binario e analizzarlo per produrre un int
che rappresenta quel numero binario.
Converti una stringa binaria in Int in Java utilizzando Integer.parseInt()
Il primo metodo è Integer.parseInt()
che analizza la stringa data in un int
. Quando passiamo una stringa e una radice o il valore di base a Integer.parseInt()
, restituisce un valore int
calcolato in base al numero di radice.
Nell’esempio, binaryString
ha un valore binario che deve essere convertito in un int
. Integer.parseInt(binaryString, 2)
fa il lavoro per noi. Il primo argomento è la stringa e il secondo argomento è 2 perché un binario è un sistema numerico in base 2.
Se binaryString
contiene un valore non binario, verrà lanciata una NumberFormatException
e verrà visualizzato il messaggio di errore.
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");
}
}
}
Produzione:
18
Converti una stringa binaria in Int in Java usando Math.pow()
In questo metodo, controlleremo ogni carattere di binaryString
poiché sappiamo che una stringa in Java è una sequenza di caratteri. Avremo bisogno di scorrere ogni carattere fino alla lunghezza della stringa.
Il passo successivo è controllare l’occorrenza di 1 in binaryString
poiché solo gli 1 vengono aggiunti quando convertiamo un binario in un decimale. Se c’è un 1, diminuirà prima la lunghezza di binaryString
con 1 e con il valore dell’iterazione. Quindi, nel caso di 101000
, il primo carattere è uno, il che significa che int len
conterrà il valore 5 perché binaryString.length()
è 6 e la variabile di iterazione i
contiene 0, quindi significa che 6 - 1 - 0 sarà 5.
Ora, quando otteniamo 5, viene passato a Math.pow(base, len)
come secondo argomento, mentre il primo argomento sarà la base. Applicherà la base 2 ai numeri e poi aggiungerà tutti i numeri dandoci il risultato in int
.
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);
}
}
Produzione:
40
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArticolo correlato - Java String
- Converti array di byte in stringa esadecimale in Java
- Converti stringa Java in byte
- Eseguire la conversione di array da stringa a stringa in Java
- Rimuovi sottostringa dalla stringa in Java
- Confronta le stringhe in Java
- Genera stringa casuale in Java