Java에서 바이트를 Int로 변환

Rupam Yadav 2023년10월12일 Java Java Byte Java Int
  1. 바이트 래퍼 클래스를 사용하여 바이트를 Int로 변환하고 Java에서 캐스팅
  2. 바이트를 부호없는 바이트로 변환하기
Java에서 바이트를 Int로 변환

바이트 데이터 유형은 8 비트 부호있는 2의 보수 정수로 정의되는 반면 int 데이터 유형은 32 비트 부호있는 2의 보수 정수로 분류 될 수 있습니다. 메모리에 대한 우려가없는 한 정수는 정수 값을 저장하는 데 사용되는 기본 데이터 유형입니다. 이 기사에서는 바이트를 int 데이터 유형으로 변환하는 방법에 대해 설명합니다.

바이트 래퍼 클래스를 사용하여 바이트를 Int로 변환하고 Java에서 캐스팅

바이트는 기본값으로 0을 보유하며 범위는 -128 = (-2 ^ 7) ~ 127 = (2 ^ 7 -1)입니다. 정수는 기본값 0을 보유하며 범위는 -2 ^ 31에서 2 ^ 31-1까지 다양합니다. byte에 대한 Wrapper 클래스는 Byte이고 int는 Integer입니다.

바이트 값이 범위를 초과하면 컴파일러는 자동으로 값을 int 변수로 승격합니다. Java에는 부호있는 정수 유형 만 있습니다 (부호없는 개념 없음). 이것은 바이트를 포함한 모든 정수 프리미티브 유형이 서명됨을 의미합니다. 그러나 부호없는 바이트 데이터 유형의 경우 범위는 0에서 255입니다.

byte-to-int 변환의 요점은 값의 부호를 유지하는 것입니다. 여기 코드에는 바이트 유형 변수b가 있으며,이를 int 유형 변수i로 변환합니다. 따라서 그것은 낙심하지 않습니다. int 데이터 유형에 바이트를 직접 할당 할 수 있습니다.

둘째, 더 작은 데이터 유형을 더 큰 데이터 유형에 저장할 때 원시 변환을 확장 한 후 바이트 값을 int로 리턴하는 Wrapper 클래스 메소드intValue()가 있습니다.

바이트를 부호없는 것으로 취하면 부호없는 변환을 사용하여 int로 전달 된 인수를 변환하는Byte.toUnsignedInt()메소드가 있습니다.

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

출력:

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

바이트를 부호없는 바이트로 변환하기

부호없는 바이트 데이터 유형의 범위는 0에서 255까지입니다. 그러나 Java에는 부호없는 바이트가 없습니다. 할 수있는 일은 바이트를 int로 캐스트하여 부호없는 바이트를 만들고0xff로 새 int를 마스크 (비트 단위)하여 마지막 8 비트를 얻거나 부호 확장을 방지하는 것입니다.

바이트 값이&연산자와 함께 사용되면 바이트를 정수로 자동 캐스트합니다. 0x000000FF의 16 진 값은0xFF로 표시됩니다.

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

출력:

129
튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
작가: 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

관련 문장 - Java Byte

관련 문장 - Java Int