C++大整数运算(八):总结

C++大整数系列文章基本已经完成,主要介绍了无符号大整数的实现细节,基于无符号大整数的带符号大整数,以及基于无符号大整数的有理数实现。 本文计划对前面的过程做一下小小的总结,应该不会太长。

继续阅读C++大整数运算(八):总结

C++大整数运算(七):有理数

C++大整数运算系列文章在前五节讲述了实现一个无符号大整数类的基本方法,第六节介绍了如何使用无符号大整数实现一个带符号大整数类。 本文的目的是介绍有理数类的实现方法。

在数学上,可以表达为两个整数的比(a/b 且 b不为0)的数被定义为有理数。 为了便于统一表示和方便计算,我们规定有理数必须表示为其最简形式(比如2/4应当表示为1/2),整数的分母必须为1。 有了之前大整数类的工作基础,我们可以通过采用两个带符号大整数来表示有理数,也可以通过两个无符号大整数和一个符号位来表示有理数,考虑到二者编程难度相似且后者效率可能会更高一些,因此本文采用两个无符号大整数和一个符号位来表示。

继续阅读C++大整数运算(七):有理数

C++大整数运算(六):带符号大整数

C++大整数运算系列文章在前五节讲述了实现一个无符号大整数类的基本方法,而在实际应用中,通常还会有用到负数的情况。由于我们之前已经实现了无符号大整数类,重新再设计一个带符号大整数类无疑会做很多类似的且没有必要的工作。本文将介绍如何使用之前完成的无符号大整数类实现一个带符号大整数类。

继续阅读C++大整数运算(六):带符号大整数

C++大整数运算(五):进制转换

C++大整数运算系列文章讲述了实现大整数四则运算的基本思路和方法,对算法做简单的介绍并采用C++代码做进一步说明。本文并不试图写成一篇教程,而是对实现过程进行整理和概括。实现过程中学习了 Donald E. Knuth 著作的 The Art of Computer Programming 中的相关内容,特此致敬。

本文是C++大整数运算系列文章的第五篇,主要介绍如何在大整数与十进制字符串之间转换。

继续阅读C++大整数运算(五):进制转换

C++大整数运算(四):除法

C++大整数运算系列文章讲述了实现大整数四则运算的基本思路和方法,对算法做简单的介绍并采用C++代码做进一步说明。本文并不试图写成一篇教程,而是对实现过程进行整理和概括。实现过程中学习了 Donald E. Knuth 著作的 The Art of Computer Programming 中的相关内容,特此致敬。

本文是C++大整数运算系列文章的第四篇,主要介绍如何实现大整数运算的除法运算。

继续阅读C++大整数运算(四):除法