C++ 中把十进制转换为二进制

1、使用自定义函数:

#include <iostream>

using std::cout;
using std::endl;
using std::string;

string toBinary(int n)
{
    string r;
    while (n != 0){
        r += ( n % 2 == 0 ? "0" : "1" );
        n /= 2;
    }
    return r;
}

int main() {
    int number = 15;

    cout << "decimal: " << number << endl;
    cout << "binary : " << toBinary(number) << endl;

    return EXIT_SUCCESS;
}

2、使用bitset:

#include <iostream>
#include <bitset>

using std::cout; using std::endl;
using std::string; using std::bitset;

int main() {
    int number = 15;

    bitset<32> bs1(number);
    cout << "binary:  " << bs1 << endl;
    bitset<16> bs2(number);
    cout << "binary:  " << bs2 << endl;
    bitset<8> bs3(number);
    cout << "binary:  " << bs3 << endl;
    bitset<5> bs4(number);
    cout << "binary:  " << bs4 << endl;
    cout << endl;

    return EXIT_SUCCESS;
}
posted @ 2022-07-19 22:03  NoodlesYang  阅读(3830)  评论(0)    收藏  举报