2014-04-30 38 views
-2

我想输出32位二进制格式的int。循环和改变我唯一的选择?C++如何以32位二进制形式输出int?

+0

在什么格式? –

+0

32位二进制格式。我的意思是在答案输出中。它不清楚吗?我可以编辑我的问题吗? – Varaquilex

+0

Duplicate http://stackoverflow.com/questions/7349689/c-how-to-print-using-cout-the-way-a-number-is-stored-in-memory – Moberg

回答

6

循环是一种方式。您也可以使用位集库。

#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 
相关问题