本文主要是介绍【大整数运算】 大整数的存储 | 高精度加法 | 高精度减法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
大整数,又称为高精度整数,其含义就是用基本数据类型无法存储其精度的整数。
(不严谨地说就是位数很多很多的数)
大整数的存储
用整型数组存储每一位数,如将整数1987存储到数组中,则有a[0]=7,a[1]=8,a[2]=9,a[3]=1。即整数的高位存储在数组的高位,整数的低位存储在数组的低位。因为在运算的时候,都是从低位到高位进行枚举,这样存储符合习惯。在用字符串读入的时候,需要另存在另一个数组,并反转一下。
为了方便,定义一个结构体来存储数组和长度。还是为了方便,会在结构体定义一个“构造函数”来初始化。
这里稍微回顾一下构造函数——
构造函数就是用来初始化结构体的一种函数,它直接定义在结构体中。它不需要写返回类型,且函数名和结构体名相同。通常一个普通定义的结构体,其内部会生成一个默认的构造函数,所以才可以直接定义内部定量而不初始化。如果重新定义了构造函数,默认函数被覆盖,则不能不经初始化就定义结构体变量。为了两者兼得,可以自定义构造函数的同时,手动加上默认函数。
struct node
{int id;char gender;int age;//默认函数,用以不初始化就定义结构体变量 node(){}//带参数gender的函数 node(char _gender){gender = _gender;}//三全部初始化的函数 node(int _id,int _age,char _gender)
这篇关于【大整数运算】 大整数的存储 | 高精度加法 | 高精度减法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!