-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
쉬프트 연산자 이해가 잘 안됩니다.
19.02.02 23:55 작성 조회수 130
2
중 후반에 칠판에 적는 듯한 소리가 났는데 어떤 걸 적으셨는지.. 모르겠습니다.
int iHigh = 187;
int iLow = 13560;
int iNumber = iHigh;
iNumber <<= 16; // 187 0000 0000 0000 0000
// 187 = 1011 1011
// 즉 iNumber<<=16은 1011 1011 0000 0000 0000 0000 이고
// iLow=13560;은 0011 0100 1111 1000 이고
iNumber |= iLow; // 를 하면 OR이여서 1011 1011 0011 0100 1111 1000 이 되고
cout << "High: " << (iNumber >> 16) << endl; // 뒤에서 영(0)을 16개 날려보내면 1011 1011 만 남으니까 187 이고
cout << "Low: " << (iNumber & 0x0000ffff) << endl;
// 1011 1011 0011 0100 1111 1000
// 0000 0000 1111 1111 1111 1111
// 0000 0000 0011 0100 1111 1000 이 되니까 13560 이 되는 것이군요??
답변을 작성해보세요.
답변 0