Convertir Octet en Int en Java

Rupam Yadav 12 octobre 2023
  1. Convertir Byte en Int à l’aide de la classe d’enveloppe d’octet et de la conversion en Java
  2. Utilisation de la conversion d’octet en octet non signé
Convertir Octet en Int en Java

Un type de données octet est défini comme un entier de complément à deux signé de 8 bits, alors qu’un type de données int peut être classé comme un entier de complément à deux signé de 32 bits. À moins qu’il n’y ait un problème de mémoire, un entier est le type de données par défaut utilisé pour stocker les valeurs intégrales. Dans cet article, nous allons discuter de la façon dont vous pouvez convertir un octet en un type de données int.

Convertir Byte en Int à l’aide de la classe d’enveloppe d’octet et de la conversion en Java

Un octet contient 0 comme valeur par défaut et sa plage varie de -128 = (-2^7) à 127 = (2^7 -1) . Un entier contient une valeur par défaut de 0 et sa plage varie de -2^31 à 2^31-1. La classe Wrapper pour byte est Byte, alors que pour int est Integer.

Si la valeur d’octet dépasse leur plage, le compilateur la promeut automatiquement en variable int. En Java, il n’y a qu’un type entier signé (pas de concept non signé) ; cela signifie que tous les types primitifs entiers, y compris l’octet, sont signés. Cependant, la plage est comprise entre 0 et 255 pour un type de données d’octet non signé.

L’intérêt de la conversion octet en entier est de préserver le signe de la valeur. Ici, dans le code, nous avons une variable de type octet b, que nous allons convertir en une variable de type int i. Par conséquent, il n’est pas abattu. Nous pouvons affecter directement l’octet au type de données int.

Deuxièmement, nous avons une méthode de classe Wrapper intValue() qui renvoie la valeur de byte sous forme d’entier après avoir élargi la conversion primitive car nous stockons un type de données plus petit dans un plus grand.

Si nous prenons l’octet comme non signé, nous avons la méthode Byte.toUnsignedInt() qui convertit l’argument passé en un int en utilisant la conversion non signée.

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);
  }
}

Production

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

Utilisation de la conversion d’octet en octet non signé

La plage pour un type de données d’octet non signé va de 0 à 255 ; cependant, Java n’a pas d’octets non signés. Ce que vous pouvez faire est de convertir l’octet en un int pour créer un octet non signé et de masquer (au niveau du bit) le nouvel int avec un 0xff pour obtenir les 8 derniers bits ou empêcher l’extension du signe.

Lorsqu’une valeur d’octet est utilisée avec l’opérateur &, il convertit automatiquement l’octet en un entier. La valeur hexadécimale de 0x000000FF est désignée par 0xFF.

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

Production

129
Auteur: Rupam Yadav
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

Article connexe - Java Byte

Article connexe - Java Int