std::hex と std::dec を使用すると、文字列から 16 進数を解析し、C++ で 10 進数に変換できます。しかし、16 進数が符号付きの場合はどうなるでしょうか。
たとえば、次のコードでは、入力 "F1" が符号なし 16 進数の場合は正しい 241 が返されますが、入力が符号付き 16 進数の場合、結果は -15 になります。符号付き 16 進値を処理できる C++ 関数はありますか?
int n;
stringstream("F1") >> std::hex >> n;
std::cout << std::dec << "Parsing \"F1\" as hex gives " << n << '\n';