本文介绍了如何将十六进制转换为十进制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要进行这种转换,但是没有任何线索.有人能帮我吗?我需要它来完成基本转换的计算器.我还需要该函数返回一个整数以转换为在其他函数中使用.
I need to do this convertion but have no clue. Can someone help me? I need this to complete a calculator of base convertion. I also need that the function return a integer to convert to use in my others functions.
PS:对不起,我的英语不好.
PS: sorry for my bad english.
我希望11F为整数287.
i expect that 11F to be an integer 287.
推荐答案这里有一些递归内容:
int hexToBase10(const std::string& number, size_t pos = 0) { if (pos == number.length()) return 0; char digit = number[number.size() - pos - 1]; int add = digit >= '0' && digit <= '9' ? digit - '0' : digit - 'A' + 10; return 16 * hexToBase10(number, pos + 1) + add; }这样称呼:
hexToBase10("11F"); // 287顺便说一句,使用 std :: hex 似乎更安全.
Btw, it seems to be more safe to use std::hex.
更多推荐
如何将十六进制转换为十进制
发布评论