【发布时间】:2014-05-30 02:18:12
【问题描述】:
正如我们所知,itoa 尝试将任何基数的整数转换为具有固定大小的 char 数组,我正在尝试找到一种替代方法,它可以完成相同的工作,但在 c++ 中转换为以 2 为基数的字符串。
【问题讨论】:
正如我们所知,itoa 尝试将任何基数的整数转换为具有固定大小的 char 数组,我正在尝试找到一种替代方法,它可以完成相同的工作,但在 c++ 中转换为以 2 为基数的字符串。
【问题讨论】:
您可以轻松编写自己的代码。
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;
}
这取自this website,以及许多其他替代方案。
【讨论】:
对于 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;
}
【讨论】: