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