c++八进制、10进制、16进制之间的转换

十进制转换八进制、十六进制、以及二进制

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;
}   

 

发布了25 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_39771637/article/details/104886948