C++中怎样把整数输出为二进制数?
C++中怎样把整数输出为二进制数?
#include <iostream.h>
void main()
{
int a = 42486;
cout <<oct <<a <<endl
<<hex <<a <<endl;
unsigned b = 42486;
cout << dec <<(signed)b <<endl;
}
[解决办法]
用bitset吧
[解决办法]
#include <iostream>
#include<bitset>
using namespace std;
int main()
{
int a=42486;
bitset<32> bs(a);
cout<<bs<<endl;
system("pause");
return 0;
}
[解决办法]
- C/C++ code
#include <iostream> using namespace std;int main(){ int num = 16; while (num) { cout<< (num & 1); num >>= 1; } cout<< endl; return 0;}
[解决办法]
printf("%x",a);
[解决办法]
2楼的正解,我说一个不需要使用STL的方法。
- C/C++ code
#include <iostream>using namespace std;int main(){ int n, i, j; bool arr[100]; while(cin >> n) { i = 0; while(n > 0) { arr[i] = bool(n % 2); i++; n /= 2; } for(j=i-1;j>=0;j--) cout << arr[j]; cout << endl; } return 0;}