数系统目前可以处理以下五种类型的数.doc

数系统目前可以处理以下五种类型的数.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数系统目前可以处理以下五种类型的数

数系统编程说明书 版权所有 “数学机械化与自动推理平台”软件组 2003年5月 目 录 1、数系统简述 2、各种数类所共有的操作 2.1、数的构造 2.2、数的基本操作 2.3、数的基本算术运算 2.4、数的比较 2.5、数的输入输出 2.6、其它数学运算 3、针对每一种具体数类的特定操作 3.1、有关大整数的操作 3.2、有关分数的操作 3.3、有关浮点数的操作 3.4、有关双精度浮点数的操作 3.5、有关复数的操作 4、常用的类型定义,常数定义和宏函数 5、编程时的一些注意事项 5.1、关于数的混合运算 5.2、关于浮点数(TFloatNum)的精度设置 *************************************************** 数系统简述 数系统中包含以下五种子数类和一种基数类: TBigInt(多精度整数类大整数类): 有关文件:num_integer.h,num_integer.cpp,num_bigint.cpp。 数据结构: TBigInt::B * num; 指向大整数基本内部表示的指针。 TFraction(分数类): 有关文件:num_fraction.h,num_fraction.cpp。 数据结构: TBigInt * nu; TBigInt型指针,表示分数的分子。 TBigInt * de; TBigInt型指针,表示分数的分母。 TFloatNum(浮点数类): 有关文件:num_float.h,num_float.cpp。 数据结构: TBigInt * mant; TBigInt型指针,表示浮点数的有效数字部分。 short exp; 整型变量,表示浮点数的指数部分。 注:该浮点数的值可以表示为:mant×10exp。 TDouble(双精度浮点数类): 有关文件:num_double.h,num_double.cpp。 数据结构: double dnum; double型变量,即TDouble类实际上就是对C/C++语言中的double类型的封装。 TComplex(复数类): 有关文件:num_complex.h,num_complex.cpp。 数据结构: TNumber * real; TNumber 型指针,表示复数的实部,它不能再是TComplex类型。 TNumber * imag; TNumber 型指针,表示复数的虚部,它不能再是TComplex类型。 TNumber(基数类): 上述五种子数类的基类,通过提取各种子数类的公共特性得到,在该类中实现各种子数类所共有的操作。 有关文件:num_number.h,num_number.cpp。 数据结构: TNumber * ptr; TNumber 型指针,指向该数本身。 各种数类所共有的操作 这部分所列的操作基本上是在每一种子数类中都提供的操作,在基数类 调用相应子数类中的运算来实现,而另一部分操作则利用虚函数的机制实现,在每个子数类中提供该虚函数的覆盖版本。为避免重复,以下操作只列出其在TNumber类中的原型。 2.1、数的构造 TNumber(); 基数的缺省构造函数 TNumber(char * str); 把字符串str构造成相应的数类: 若str中包含字符‘I’,则构造为复数TComplex; 若str中包含字符‘D’,则构造为双精度浮点数TDouble; 若str中包含字符‘.’,则构造为浮点数TFloatNum; 若str中包含字符‘/’,则构造为分数TFraction; 若不是以上四种情况,则构造为整数TBigInt。 TNumber(const TNumber n); 基数的复制构造函数:通过先进行类型判断,再调用相应的子数类的复制构造函数实现。 不构造新的内存,只修改引用计数。 类型转化构造函数: TNumber(int); TNumber(short); TNumber(unsigned long); TNumber(double); TNumber(TBigInt ); TNumber(TFloatNum ); TNumber(TFraction ); TNumber(TDouble ); TNumber(TComplex ); 2.2、数的基本操作 数的复制: virtual TAtom * Copy(); 数的复制 不构造新的内存,只修改引用计数。 赋值运算符: TNumber operator = (const TNumber n); 数的赋值操作 不构造新的内存,只修改引用计数。 调用方法:

您可能关注的文档

文档评论(0)

busuanzi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档