使用除8,10和16以外的基础的ostream

我有一个多项式类,它的自然表示就是它的系数。 如果设置了一个系数,那么它的a 1为二项基础,1或2为三项基础等。例如,在二项基础上,X2 + 1表示为101; 并且在三项基础上,2X2 + 1被表示为201。

该类提供了一个operator<< overload。 在内部,类使用整数阵列表示系数。 所以我应该能够执行:

ostringstream oss;
for (size_t i=0; i<v.size(); i++)
   oss << v[i];

我遇到的问题是我不知道如何为8,10和16以外的基础配置ostream。ios_base为流行的ios_base提供了std::octstd::decstd::hex ,但是我不看不到那些经常使用的基地有什么用处。 像ios_base上的C ++ Reference这样的页面没有讨论使用什么。

我如何使用除8,10和16之外的基础的ostream?


我不认为这是可能的使用标准手段。 看着std :: setbase

除8,10或16以外的基数值将基准位重置为零,这对应于小数输出和基于前缀的输入。


自从方向倒退以后,取代我的答案。 见itoa。 该文件说这是一个非标准功能。 由于这是一个非标准函数,因此在页面中有一些实现。

链接地址: http://www.djcxy.com/p/88805.html

上一篇: Use ostream with bases other than 8, 10 and 16

下一篇: Can I use ssh config name when using Itamae