0

追加する文字列が 2 つあります。文字列は HEX 値です。文字列を long long に変換し、追加してから文字列に戻します。しかし、この操作はうまくいきません。

コード:

unsigned long long FirstNum = std::strtoull(FirstString.c_str(), NULL, 16);
unsigned long long SecondNum = std::strtoull(SecondString.c_str(), NULL, 16);
unsigned long long Num = FirstNum + SecondNum;
std::cout << "  " << FirstNum << "\n+ " << SecondNum << "\n= " << Num << "\n\n";

受け取りました

  13285923899203179534
+ 8063907133566997305
= 2903086959060625223

この魔法を説明できる人はいますか?どうすれば修正できますか?

16 進値に戻る

std::stringstream Stream;
Stream << std::hex << Num;
return Stream.str();
4

1 に答える 1