본문 바로가기

C++

[C++] Binary 비트연산 X 배수 패딩 채우기

int m_nDataFrameSize = 123;
cout << "123 : "<<bitset<16>(m_nDataFrameSize) << endl;
cout << " -4 : "<<bitset<16>(0xFFFFFFFC) << endl;
cout << "126 : " << bitset<16>(m_nDataFrameSize + 3) << endl;
m_nDataFrameSize = (m_nDataFrameSize + 3) & 0xFFFFFFFC; // 4의 배수로 align한다

 

--

 

int m_nDataFrameSize = 33;
cout << "33 : " << bitset<16>(m_nDataFrameSize) << endl;
cout << "-8 : " << bitset<16>(-8) << endl;
cout << "41 : " << bitset<16>(m_nDataFrameSize + 7) << endl;
m_nDataFrameSize = (m_nDataFrameSize + 7) & -8; // 8의 배수로 align한다
cout << m_nDataFrameSize << " : " << bitset<16>(m_nDataFrameSize) << endl;