二进制输出整数

405 阅读1分钟

c++:

常规:

 int x = 0x1234567;
 for (int i = 31; i >= 0; i--) {
     std::cout << ((x >> i) & 1);
 }

bitset:

std::cout << std::bitset<32>(x);

注意要#incluce<bitset>

java:

Interger.toBinaryString()

这个的问题是正数只会输出到不为0的最高位,不会输出整个32位