我有 3 个正整数的基本表示形式:
- 十进制,在 unsigned long 变量中(例如unsigned long int NumDec = 200)。
- 十六进制,在字符串变量中(例如字符串 NumHex = "C8")
- 二进制,在字符串变量中(例如string NumBin = "11001000")
我希望能够以最有效的方式在所有 3 种表示形式中的数字之间进行转换。即实现以下6个功能:
unsigned long int Binary2Dec(const string & Bin) {}
unsigned long int Hex2Dec(const string & Hex) {}
string Dec2Hex(unsigned long int Dec) {}
string Binary2Hex(const string & Bin) {}
string Dec2Binary(unsigned long int Dec) {}
string Hex2Binary(const string & Hex) {}
对于他们每个人来说,最有效的方法是什么?我可以使用 C 和 C++,但不能使用 boost。
编辑:“效率”是指时间效率:最短的执行时间。