如何移動8x8區域的列?例如,我有這個一個64位無符號整數如下:位列移位
#include <boost/cstdint.hpp>
int main()
{
/** In binary:
*
* 10000000
* 10000000
* 10000000
* 10000000
* 00000010
* 00000010
* 00000010
* 00000010
*/
boost::uint64_t b = 0x8080808002020202;
}
現在,我想移後的第一縱行讓說四次,之後就變成這樣:
/** In binary:
*
* 00000000
* 00000000
* 00000000
* 00000000
* 10000010
* 10000010
* 10000010
* 10000010
*/
b == 0x82828282;
只有按位運算符纔可以做到這一點,或者是什麼?