【发布时间】:2021-11-18 11:02:42
【问题描述】:
我正在做一份大学工作,一个包含在字符串流中的十六进制数字之间的转换。我有一个大的十六进制数(一个私钥),我需要转换为 int,以放入 map
有什么办法让它工作吗?
int main()
{
unsigned int x;
std::stringstream ss;
ss << std::hex << "0x3B29786B4F7E78255E9F965456A6D989A4EC37BC4477A934C52F39ECFD574444";
ss >> x;
std::cout << "Saida" << x << std::endl;
// output it as a signed type
std::cout << "Result 1: " << static_cast<std::int64_t>(x) << std::endl;
ss << std::hex << "0x3C29786A4F7E78255E9A965456A6D989A4EC37BC4477A934C52F39ECFD573344";
ss >> x;
std::cout << "Saida 2 " << x << std::endl;
// output it as a signed type
std::cout << "Result 2: " << static_cast<std::int64_t>(x) << std::endl;
}
【问题讨论】:
-
我不确定你的问题。作为字符串的十六进制数不适合 64 位整数。
-
这是一个 64 字节长的数字。你不会混淆位和字节吗?
标签: c++ c++11 cryptography