简单介绍C++大整数类

目录

大整数类的引入与声明

大整数类的四则运算

大整数类的比较

总结


大整数类的引入与声明

在C语言中,长度较长的数字通常使用高精度——也就是使用数组存储该长数字的每一位。C++中也可以使用类似的方法,但是STL和类(结构体)的存在可以使高精度使用更加方便:

C++中STL的存在可以使用不定长数组vector代替C中的定长数组,不需要考虑数字位数且不会浪费空间;

C++中类的存在可以在vector的基础上添加构造函数和其他成员函数(多用运算符重载函数)

 所以可以定义以下的结构体BigInteger存储高精度的非负整数:

struct BigInteger{
    //首先定义两个静态成员变量————规定vector中每一个元素可以存储的最大数据
    static const int BASE = 100000000;  //应用于使用数字赋值
    static const int WIDTH = 8;         //应用于使用字符串赋值
    //接着定义vector
    vector<int> s;

    //构造函数
    BigInteger(long long num=0){*this=num;}
    //使用数字赋值的赋值运算符重载
    BigInteger operator=(long long num)
    {
        s.clear()    //赋值则先清除原有数据
        do{
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhouqi_Hua

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值