Converti Byte in Int in Java

Rupam Yadav 12 ottobre 2023
  1. Converti Byte in Int utilizzando la classe Byte Wrapper e il cast in Java
  2. Utilizzo della conversione da byte a byte senza segno
Converti Byte in Int in Java

Un tipo di dati byte è definito come un intero in complemento a due con segno a 8 bit, mentre un tipo di dati int può essere classificato come un intero in complemento a due con segno a 32 bit. A meno che non si tratti di memoria, un numero intero è il tipo di dati predefinito utilizzato per memorizzare i valori integrali. In questo articolo, discuteremo come convertire un byte in un tipo di dati int.

Converti Byte in Int utilizzando la classe Byte Wrapper e il cast in Java

Un byte contiene 0 come valore predefinito e il suo intervallo varia da -128 = (-2^7) a 127 = (2^7 -1) . Un numero intero contiene un valore predefinito di 0 e il suo intervallo varia da -2^31 a 2^31-1. La classe Wrapper per byte è Byte, mentre per int è Integer.

Se il valore del byte supera il loro intervallo, il compilatore lo promuove automaticamente a variabile int. In Java esiste solo un tipo intero con segno (nessun concetto senza segno); questo significa che tutti i tipi primitivi interi, incluso il byte, sono firmati. Tuttavia, l’intervallo è compreso tra 0 e 255 per un tipo di dati byte senza segno.

Il punto centrale della conversione da byte a int è preservare il segno del valore. Qui nel codice abbiamo una variabile di tipo byte b, che convertiremo in una variabile di tipo int i. Quindi, non è abbattuto. Possiamo assegnare direttamente il byte al tipo di dati int.

In secondo luogo, abbiamo un metodo di classe Wrapper intValue() che restituisce il valore di byte come int dopo aver ampliato la conversione primitiva mentre stiamo memorizzando un tipo di dati più piccolo in uno più grande.

Se prendiamo il byte come unsigned, allora abbiamo il metodo Byte.toUnsignedInt() che converte l’argomento passato a un int usando la conversione unsigned.

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

Produzione

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

Utilizzo della conversione da byte a byte senza segno

L’intervallo per un tipo di dati a byte senza segno va da 0 a 255; tuttavia, Java non ha byte non firmati. Quello che puoi fare è lanciare il byte in un int per creare un byte senza segno e mascherare (bit a bit) il nuovo int con uno 0xff per ottenere gli ultimi 8 bit o impedire l’estensione del segno.

Quando un valore di byte viene utilizzato con l’operatore &, converte automaticamente il byte in un numero intero. Il valore esadecimale di 0x000000FF è indicato come 0xFF.

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

Produzione

129
Autore: 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

Articolo correlato - Java Byte

Articolo correlato - Java Int