Если я вас правильно понял, то это выполнит то, что вы просите:
#include <iostream>
#include <bitset>
int main()
{
std::bitset<64> bits64{0b0111101111011001110011010101110001111011110110011100110101011100};
/*
01111011
11011001
11001101
01011100
01111011
11011001
11001101
01011100
*/
for (auto i = 7; i >= 0 ; i--)
std::cout << std::bitset<8>{bits64.to_ullong() >> (i * 8)} << std::endl;
return 0;
}
Выход:
01111011
11011001
11001101
01011100
01111011
11011001
11001101
01011100
Вы можете изменить оператор цикла for
, чтобы он излучал в любом порядке байтов, который вы выберете.
Ключевым моментом является использование оператора shift (<<
или >>
) для интегрального значения.