我最近一直在创建管理大数字的图书馆。当我说大的时候,我的意思是数百个数字以及更多。这里出现了一个问题 - 我希望能够将数字作为字符串传递并在内部将其转换为二进制表示形式(unsigned char数组)。对十六进制数字来说非常简单。我是这样做的:
void fillArrayfromHexadecimal(const std::string &hexadecimal, unsigned char *const array, const unsigned long long size){
std::stringstream sstream { };
for(unsigned long long i = 0; i < size; ++i){
unsigned long long index {size >= 2 * i ? size - 2 * i : 0};
unsigned char length { size >= 2 * i ? 2 : 1};
sstream << std::hex << hexadecimal.substr(index, length);
sstream >> array[i];
}
}
以后的数组由构造函数处理。
但我偶然发现了一个问题 - 如何将字符串中的十进制转换为字符串中的十六进制或如何在字符串中执行类比转换十进制 - &gt; char数组?有什么想法或想法吗?