我该怎么做?
int number;
cin >> number;
我希望以 36 进制输入数字(假设它们以 36 进制输入)。在 36 进制中,A 表示 10,B 表示 11,C 表示 12,依此类推。 C++ 如何理解“A”不是字符而是以 36 为基数的数字,并且“cin >>”是否可以用于此目的?
最佳答案
您需要编写一个包含 int&
的包装类,并为该类重载 >>>
,以便它在 base36 中进行解析。用法如下所示:
int i;
cin >> base36(i);
// or if you do it more generically:
cin >> base(36, i);
标准 C++ 不为 8、10 和 16 以外的基数提供 I/O。
关于c++ - 如何以 36 进制输入数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19003684/