正の整数の 3 つの基本表現があります。
- unsigned long 変数の 10 進数 (例: unsigned long int NumDec = 200 )。
- 16 進数、文字列変数 (例: string 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 は使用できません。
編集:「効率」とは、時間効率を意味します:最短の実行時間。