1. 用&1和左移
2. 用#include<bitset>
1. 用&1和左移,自己动手丰衣足食
#include <string>
#include <iostream>
using namespace std;
template <typename T_butNotFloat>
string showBits(T_butNotFloat num){
int len = sizeof(num)*8;
string res;
while(len!=0){
res+=to_string(num & 1);
num=num>>1;
len--;
}
reverse(res.begin(),res.end());
return res;
}
int main() {
cout<<showBits(-13)<<endl;
cout<<showBits(18L)<<endl;
cout<<showBits('A')<<endl;
cout<<showBits(0)<<endl;
return 0;
}
2. 用#include<bitset>,便捷
#include<bitset>
int main() {
int a=-13;
cout<<(bitset<sizeof(a)*8>)a<<endl;
return 0;
}