투케이2K

143. (java/자바) 0xFF 와 비트 연산자를 사용해 바이트 값(byte)을 정수값 (int)으로 표시 본문

Java

143. (java/자바) 0xFF 와 비트 연산자를 사용해 바이트 값(byte)을 정수값 (int)으로 표시

투케이2K 2021. 2. 6. 18:03

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Eclipse

개발 언어 : Java

/* =========================== */

/* =========================== */

[소스 코드]

 

package AI4;

public class MainActivity9 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("[0xFF 와 비트 연산자를 사용해 바이트 값(byte)을 정수값 (int)으로 표시]");
		
		//초기 정수값을 선언해줍니다
		int i_data = 2;
		System.out.println("정수값 원본 : "+i_data);
		System.out.println("");
		
		//바이트 변수에 정수값을 담습니다
		byte b_data = (byte) i_data;
		System.out.println("바이트 값 변환 : "+b_data);
		System.out.println("");
			
		/*[설 명]
		 * 1. 바이트 변수값을 원래 정수값으로 변환하기위해서는 0xff 연산을 수행해야합니다
		 * 2. 비트연산자 << 왼쪽은 곱하기 / >> 오른쪽은 나누기를 의미합니다
		 * */
		int i_result = (b_data&0xFF);
		int i_bit8 = (b_data&0xFF)<<8; //2의 8승
		int i_bit16 = (b_data&0xFF)<<16; //2의 16승 
		
		System.out.println("정수값 복구 : "+i_result);
		System.out.println("정수값 왼쪽 8 비트 : "+i_bit8);
		System.out.println("정수값 왼쪽 16 비트 : "+i_bit16);
		
	}//메인 종료

}//클래스 종료

/* =========================== */

[결과 출력]

[0xFF 와 비트 연산자를 사용해 바이트 값(byte)을 정수값 (int)으로 표시]

정수값 원본 : 2

바이트 값 변환 : 2

정수값 복구 : 2

정수값 왼쪽 8 비트 : 512

정수값 왼쪽 16 비트 : 131072

/* =========================== */

/* =========================== */

[요약 설명]

* 1. 바이트 변수값을 원래 정수값으로 변환하기위해서는 0xff 연산을 수행해야합니다

* 2. 비트연산자 << 왼쪽은 곱하기 / >> 오른쪽은 나누기를 의미합니다

/* =========================== */

반응형
Comments