투케이2K

91. (java/자바) 시프트(shift)연산자 사용해서 데이터 이동 실시 본문

Java

91. (java/자바) 시프트(shift)연산자 사용해서 데이터 이동 실시

투케이2K 2021. 1. 7. 09:17

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

[ 개발 환경 설정 ]

개발 툴 : Eclipse

개발 언어 : Java

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

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

[소스 코드]

 

package AI2;

public class MainActivity32 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("[시프트(shift)연산자 사용해서 데이터 이동 실시]");
		
		/*[설 명]
		 * 1. << - 명시된 수만큼 비트들을 전부 왼쪽으로 이동시킵니다
		 * 2. >> - 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킵니다
		 * 3. 간단 설명 - (왼쪽) << 2의 X승 데이터값을 사용해 곱하기를 수행합니다 
		 *             (오른쪽) >> 2의 X승 데이터값을 사용해 나누기를 수행합니다
		 * 4. 2의 X승 - 승 : 1  2  3  4  5 ...
		 *             값 :(2)(4)(8)(16)(32)
		 * 5. 예시 - 2의 3승이란 2*2*2=8 의미입니다                      
		 */
		int data = 16;
		
		System.out.println("<< [1] 연산자 : "+ (data << 1)); //16 * 2 (2의 1승 = 2)
		System.out.println(">> [1] 연산자 : "+ (data >> 1)); //16 / 2 (2의 1승 = 2)
		System.out.println("");
		
		System.out.println("<< [2] 연산자 : "+ (data << 2)); //16 * 4 (2의 2승 = 4)
		System.out.println(">> [2] 연산자 : "+ (data >> 2)); //16 / 4 (2의 2승 = 4)
		System.out.println("");
		
		System.out.println("<< [3] 연산자 : "+ (data << 3)); //16 * 8 (2의 3승 = 8)
		System.out.println(">> [3] 연산자 : "+ (data >> 3)); //16 / 8 (2의 3승 = 8)

	}//메인 종료

}//클래스 종료

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

[결과 출력]

[시프트(shift)연산자 사용해서 데이터 이동 실시]

<< [1] 연산자 : 32

>> [1] 연산자 : 8

<< [2] 연산자 : 64

>> [2] 연산자 : 4

<< [3] 연산자 : 128

>> [3] 연산자 : 2

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

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

[요약 설명]

* 1. << - 명시된 수만큼 비트들을 전부 왼쪽으로 이동시킵니다

* 2. >> - 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킵니다

* 3. 간단 설명 - (왼쪽) << 2의 X승 데이터값을 사용해 곱하기를 수행합니다

                  (오른쪽) >> 2의 X승 데이터값을 사용해 나누기를 수행합니다

* 4. 2의 X승 - 승 : 1 2  3  4  5 ...

                  값 :(2)(4)(8)(16)(32)

* 5. 예시 - 2의 3승이란 2*2*2=8 의미입니다

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

반응형
Comments