Convertir des octets en octets non signés en Java

Haider Ali 12 octobre 2023
Convertir des octets en octets non signés en Java

Pour comprendre le concept de conversion d’octets en octets non signés en Java, vous devez vous familiariser avec certains concepts informatiques de bas niveau. Vous devez tout savoir sur les conversions, les bits, les octets, les mots, etc. Plongeons dedans.

Convertir des octets en octets non signés en Java

Il y a 8 bits dans un octet, et les formules pour calculer la plage d’octets signés et d’octets non signés sont les suivantes.

Signed Number min = -1 * 2 ^ (N - 1) = -1 * 2 ^ (7) = -128 max = 2 ^ (N - 1) - 1 = 2 ^ 7 - 1 = 127

    Unsigned Number min = 0 max = 2 ^ (N) -1 = 2 ^ (8) - 1 = 255

    // N is the number of bits

La raison de la petite plage de nombres signés est qu’un bit est réservé à la présentation des symboles signés ; c’est pourquoi la plage est de -128 à 127. Il n’y a pas d’octets non signés en Java lorsqu’il s’agit de nombres non signés. Alors, comment pouvons-nous les créer en Java ?

Vous pouvez créer un octet non signé en les transformant en un nouvel entier (int) et en masquant (ET au niveau du bit) cet entier avec le 0xff. De cette façon, vous obtiendrez les 8 derniers bits, empêchant l’extension du signe. Comme nous le savons, 0xFF = 1111 1111, après son opération ET au niveau du bit avec l’octet d’origine, vous donnera un octet non signé.

Si vous vous souvenez, en ce qui concerne les bits signés, tous les bits de gauche sont 1. L’opération ET au niveau du bit les transformera en 0, et c’est notre représentation d’un nombre non signé. Jetez un oeil au code suivant.

import javax.swing.GroupLayout.Alignment;
// library to perform this task
public class Main {
  public static void main(String[] args) {
    byte byteData = -3; //-3 SIGNED  253 UNSIGNED Byte
    int Data = byteData & 0xff;
    System.out.println(Data);
  }
}

Production :

253

C’est une procédure assez simple, mais son concept est un peu complexe. En savoir plus sur les octets non signés en Java ici.

Auteur: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn