любая альтернатива преобразования целого числа в базе 2 в строку?

поскольку мы знаем, что itoa пытается преобразовать целое число в любой базе, кроме массива char, имеющего фиксированный размер, я пытаюсь найти альтернативу, которая может выполнять ту же работу, но преобразовывать в строку с базой 2 в c ++.

0

Решение

Вы можете легко написать свой собственный.

void my_itoa(int value, std::string& buf, int base){

int i = 30;

buf = "";

for(; value && i ; --i, value /= base) buf = "0123456789abcdef"[value % base] + buf;

}

Это было взято из этот сайт, наряду со многими другими альтернативами.

0

Другие решения

Для C ++ 11 вы можете использовать bitset а также to_string,

#include <iostream>
#include <bitset>
using namespace std;

int main() {
// your code goes here
cout << bitset<4>(10).to_string() << endl;
return 0;
}
0

По вопросам рекламы [email protected]