如何用C++实现一个变长整型类

zhangtong 2005-03-30 03:37:39
我想用C++实现一个变长整型类作为int的扩充,
整体思想就是用一个数组或者链表将任意长的数分段存储
现在遇到的难题就是编译器无法识别一个任意长的整数,
因为编译器会把它作为一个整型常量处理
而且我不想将整型常量写成字符串的形式那样就不自然了
比如下面这个程序:
class sample
{
private:
...
public:
sample(型参);
};
我想利用构造函数sample(型参)对变长整型初始化
当在程序中构造函数时:
sample s(1232434545565663655631);
问题就出来了,编译器只会将其识别为一个整型常数(这样一来就无法以任意长度的整数来初始化了)
请问各位大虾有没有更好的办法来构造一个变长的整型类
...全文
326 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowmansh 2005-04-01
  • 打赏
  • 举报
回复
巨型整数的问题吧。
楼主在做数据加密?

sample(const char *s, int base);
base = 2, 8, 16.....
为什么不用字符串? 不是很自然吗?可能没有完全理解你。

你准备动态处理任意长整数。是可以,效率很低。
MagicCarmack 2005-04-01
  • 打赏
  • 举报
回复
如果不用字符串

Sample(123,44545,676676,76878,54645);
中间用些逗号
是个好办法,但是我认为这个还不如用字符串!
MagicCarmack 2005-04-01
  • 打赏
  • 举报
回复
用字符串,看行不行吧
yzxlyd 2005-04-01
  • 打赏
  • 举报
回复
gz是什么意思?
oyljerry 2005-03-31
  • 打赏
  • 举报
回复
gz
yzxlyd 2005-03-31
  • 打赏
  • 举报
回复
class sample
{
private:
...
public:
sample(型参L);
};
yzxlyd 2005-03-31
  • 打赏
  • 举报
回复
class sample
{
private:
...
public:
sample(long(型参));
};
jerry 2005-03-31
  • 打赏
  • 举报
回复
不过我想用串来赋值清楚点:
#define LARGE_INT(a) #a

Sample a(LARGE_INT(12456621215421245421215445455567489786542));
jerry 2005-03-31
  • 打赏
  • 举报
回复
这样:
Sample(123,44545,676676,76878,54645);
中间用些逗号
yuanyou 2005-03-31
  • 打赏
  • 举报
回复
直接用个数组不就行了。不过用字符串方便
arrowcy 2005-03-31
  • 打赏
  • 举报
回复
这个好像有点复杂,我想帮也帮不上
zhangtong 2005-03-31
  • 打赏
  • 举报
回复
大家帮帮忙啊

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧