Konvertieren Sie Byte in Int in Java

Rupam Yadav 12 Oktober 2023
  1. Konvertieren von Byte in Int mit der Byte Wrapper-Klasse und Casting in Java
  2. Konvertierung von Byte in vorzeichenloses Byte verwenden
Konvertieren Sie Byte in Int in Java

Ein Byte-Datentyp ist als eine 8-Bit-Ganzzahl mit Vorzeichen im Zweierkomplement definiert, während ein Datentyp int als eine 32-Bit-Ganzzahl mit Vorzeichen im Zweierkomplement klassifiziert werden kann. Sofern keine Bedenken hinsichtlich des Speichers bestehen, ist eine Ganzzahl der Standarddatentyp, der zum Speichern ganzzahliger Werte verwendet wird. In diesem Artikel besprechen wir, wie Sie ein Byte in einen int-Datentyp konvertieren können.

Konvertieren von Byte in Int mit der Byte Wrapper-Klasse und Casting in Java

Ein Byte enthält 0 als Standardwert und sein Bereich variiert von -128 = (-2^7) bis 127 = (2^7 -1) . Eine ganze Zahl enthält einen Standardwert von 0 und ihr Bereich variiert von -2^31 bis 2^31-1. Die Wrapper-Klasse für byte ist Byte, während für int Integer ist.

Wenn der Byte-Wert ihren Bereich überschreitet, stuft ihn der Compiler automatisch in eine int-Variable um. In Java gibt es nur einen vorzeichenbehafteten Integer-Typ (kein Konzept ohne Vorzeichen); Dies bedeutet, dass alle primitiven Integer-Typen, einschließlich des Bytes, mit Vorzeichen versehen sind. Der Bereich ist jedoch 0 bis 255 für einen vorzeichenlosen Byte-Datentyp.

Der ganze Sinn der Byte-in-Int-Konvertierung besteht darin, das Vorzeichen des Werts beizubehalten. Hier im Code haben wir eine Byte-Typ-Variable b, die wir in eine int-Typ-Variable i umwandeln. Daher ist es nicht niedergeschlagen. Wir können das Byte direkt dem Datentyp int zuweisen.

Zweitens haben wir eine Wrapper-Klassenmethode intValue(), die den Wert von byte als int zurückgibt, nachdem die primitive Konvertierung erweitert wurde, da wir einen kleineren Datentyp in einen größeren speichern.

Wenn wir das Byte als unsigned nehmen, haben wir die Methode Byte.toUnsignedInt(), die das übergebene Argument mit der unsigned-Konvertierung in ein int umwandelt.

public class JavaByteToInt {
  public static void main(String args[]) {
    byte b = -98;
    System.out.println("byte b : = " + b);
    int i = b;
    System.out.println("int i : " + i);

    Byte byt = new Byte(b);
    int i1 = byt.intValue();
    int i2 = Byte.toUnsignedInt(byt);
    System.out.println("int i1 : " + i1);
    System.out.println("int i2 : " + i2);
  }
}

Ausgabe

byte b : = -98
int i : -98
int i1 : -98
int i2 : 158

Konvertierung von Byte in vorzeichenloses Byte verwenden

Der Bereich für einen vorzeichenlosen Byte-Datentyp reicht von 0 bis 255; Java hat jedoch keine vorzeichenlosen Bytes. Was Sie tun können, ist, das Byte in ein int umzuwandeln, um ein vorzeichenloses Byte zu erstellen, und das neue int (bitweise) mit einem 0xff zu maskieren, um die letzten 8 Bits zu erhalten oder die Vorzeichenerweiterung zu verhindern.

Wenn ein Byte-Wert mit dem Operator & verwendet wird, wird das Byte automatisch in eine ganze Zahl umgewandelt. Der Hex-Wert von 0x000000FF wird als 0xFF bezeichnet.

public class JavaByteToInt {
  public static void main(String args[]) {
    byte b = -127;
    int i = (b & 0xFF);
    System.out.println(i);
  }
}

Ausgabe

129
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 Byte

Verwandter Artikel - Java Int