十进制转换八进制、十六进制、以及二进制
c++中可以利用 cin>>hex>>a输入十六进制 cin>>oct>>a输入八进制
利用cout<<hex<<a输出16进制 cout<<oct<<a输出八进制 cout<<dec<<a输出十进制
#include<iostream>
using namespace std;
void binary(unsigned int value) {
for (int i = 16; i >= 0; --i) {
if (value & (1 << i)) {
cout<<1;
} else {
cout<<0;
}
}
cout<<endl;
}
int main()
{
unsigned int a;
cout<<"输入10进制数"<<endl;
cin>>a;
cout<<"a: 16进制 = "<<hex<<a<<endl;
cout<<"a: 8进制 = "<<oct<<a<<endl;
cout<<"a: 10进制 = "<<dec<<a<<endl;
binary(a);
return 0;
}
十进制转换二进制,二进制转换十进制
bitset<16> bit,定义一个二进制数
cin>>bit,输入二进制
cout<<bit.to_ulong<<endl,转换成十进制
bit<10> set(a),将十进制数a转换成2进制数set
#include <iostream>
#include <bitset>
using namespace std;
int main()
{
//二进制转换十进制
bitset<16> bit;
cin>>bit;
cout<<bit.to_ulong()<<endl;
//十进制转换二进制
int a;
cin>>a;
bitset<10> set(a);
cout<<set<<endl;
return 0;
}