Я хочу вывести int
в 32-битном двоичном формате. Является ли зацикливание и сдвиг моим единственным вариантом?
Цикл это способ. Вы также можете использовать битовую библиотеку.
#include <iostream>
#include <bitset>
int main(int argc, char** argv) {
int i = -5, j = 5;
unsigned k = 4000000000; // 4 billion
std::cout << std::bitset<32>(i) << "\t" << std::bitset<32>(j) << std::endl;
std::cout << std::bitset<32>(k) << std::endl;
return 0;
}
И на выходе будет:
11111111111111111111111111111011 00000000000000000000000000000101
11101110011010110010100000000000