• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

쉬프트 연산자 이해가 잘 안됩니다.

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

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!