투케이2K

49. (C/C언어) 왼쪽 시프트 연산 (<<) 수행 및 value 값 확인 실시 본문

C

49. (C/C언어) 왼쪽 시프트 연산 (<<) 수행 및 value 값 확인 실시

투케이2K 2023. 9. 3. 19:26

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : C 언어

 

[소스 코드]

// TODO [구현부 소스 코드 작성]
int main(void)
{

    /**
     * ------------------------------------
     * [요약 설명]
     * ------------------------------------
     * 1. 왼쪽 시프트 연산자(<<, left shift)는 지정한 수만큼 피연산자의 모든 비트를 전부 왼쪽으로 이동시킵니다
     * ------------------------------------
     * 2. 왼쪽으로 모든 비트를 이동시키면, 맨 왼쪽의 비트는 지정된 수만큼 자동으로 버려지게 됩니다
     * ------------------------------------
     * */


    // 초기 변수 선언
    int x = -1; // 11111111 11111111 11111111 11111111

    // 왼쪽 시프트 연산 수행
    int y = x<<2; // 왼쪽으로 2비트만큼 이동시킴 : 11111111 11111111 11111111 11111100
    int z = x<<3; // 왼쪽으로 3비트만큼 이동시킴 : 11111111 11111111 11111111 11111000

    // [로그 출력 실시]
    //*
    __android_log_print(ANDROID_LOG_WARN, "[LOG]", "%s", "=====================================================");
    __android_log_print(ANDROID_LOG_INFO, "[LOG]", "결과 : \"%d\"\n", y);
    __android_log_print(ANDROID_LOG_INFO, "[LOG]", "결과 : \"%d\"\n", z);
    __android_log_print(ANDROID_LOG_WARN, "[LOG]", "%s", "=====================================================");
    // */


    return 0;
}
 

[결과 출력]

 

W/[LOG]: =====================================================
I/[LOG]: 결과 : "-4"
I/[LOG]: 결과 : "-8"
W/[LOG]: =====================================================

 

반응형
Comments