자바에서 정수를 바이트 배열로 변환하고, 바이트 배열을 정수로 변환하는 방법
자바 프로그래밍에서 데이터를 다루다 보면 때때로 정수를 바이트 배열로 변환하거나 그 반대의 작업을 해야 할 경우가 있습니다. 이 글에서는 이러한 변환을 수행하는 두 가지 함수에 대해 설명합니다.
정수를 바이트 배열로 변환하는 함수
먼저, 정수를 바이트 배열로 변환하는 함수입니다. 이 함수는 4개의 요소를 가진 새로운 바이트 배열을 생성하고, 각 요소에 대해 입력된 정수 값을 오른쪽으로 비트 시프팅하여 해당 부분의 값을 추출합니다.
public byte[] intToByteArray(int value) { byte[] byteArray = new byte[4]; byteArray[0] = (byte)(value >> 24); byteArray[1] = (byte)(value >> 16); byteArray[2] = (byte)(value >> 8); byteArray[3] = (byte)(value); return byteArray; }
바이트 배열을 정수로 변환하는 함수
다음으로, 바이트 배열을 다시 원래의 정수 값으로 복원하는 함수입니다. 각 요소는 왼쪽으로 비트 시프팅되어 원래 위치에 맞게 조정되며, 이렇게 복원된 값들은 OR 연산자(|)를 통해 결합됩니다.
public int byteArrayToInt(byte bytes[]) { return ((((int)bytes[0] &0xff) <<24) | (((int)bytes[1] &0xff) <<16) | (((int)bytes[2] &0xff) <<8 ) | (((int)bytes[3] &0xff))); }
함수 사용 예시
아래 코드는 위에서 설명한 두 가지 함수를 어떻게 사용할 수 있는지 보여줍니다.
int value =123456789; byte[] byteArray = intToByteArray(value); int newValue = byteArrayToInt(byteArray);
위 코드에서 `value`라는 변수에 저장된 정수 값은 `intToByteArray`라는 메서드에 의해 바이트 배열 형태로 변환되고, 이렇게 변환된 바이트 배열은 다시 `byteArrayToInt`라는 메서드에 의해 원래의 정수 값으로 복원됩니다.
0 개의 댓글:
Post a Comment