C 類中如何自定義25位的長整型

2022-05-07 04:09:52 字數 1927 閱讀 5145

1樓:

bignum模版,你看下吧

#include

#include

#include

using namespace std;

const int maxn = 9999;

const int dlen = 4;

const int digit = 500;

// 數字在該類中每四位逆序存放。

// 實現了加減乘除著四個最基本的運算。

// 乘法的時間複雜度為)o(n^2)

class bignum

bignum(int );

bignum(const char );

bignum(const bignum &);

bignum operator+(const bignum &) const;

bignum operator-(const bignum &) const;

bignum operator*(const bignum &) const;

bignum operator/(const int) const;

friend ostream & operator<<

friend istream & operator>>

private:

int a[digit];

int len;

};bignum::bignum(int n)

if (len == 0) len = 1;

}bignum::bignum(const char s)

}if (t.a[blen] == 0) blen--;

t.len = blen + 1;

return t;

}// a must bigger to b...

bignum bignum::operator-(const bignum & n) const

else t.a[i] = a.a[i] - n.a[i];

}a.len = big;

while(t.a[a.len - 1] == 0 && a.len > 1) a.len--;

t.len = a.len;

return t;

t.len = len + n.len;

while (t.a[t.len - 1] == 0 && t.len > 1) t.len--;

return t;

}bignum bignum::operator/(const int n) const

t.len = len;

while (t.a[t.len - 1] == 0 && t.len > 1) t.len--;

return t;

}ostream & operator<<

return os;

}istream & operator>>(istream &is, bignum &n)

2樓:匿名使用者

你說的25位是二進位制還是十進位制,如果是二進位制那麼int足夠了,如果是十進位制,用一個字元陣列來儲存,每個字元位對應於一個數字位,類中加減運算用高精度運算,你去網上搜搜就有,很多的

怎樣在自定義類中呼叫Action類的方法

public class tagaction extends actionsupport 定義第二個處理邏輯 public string login throws exception this fetch 例項化action物件,然後呼叫action中的方法 python中怎麼呼叫自定義函式 網上的...

請教C 高手,關於「以定義了《運算的自定義類來初始化ostream iterator」的問題

lz你可能理解錯了。並不是任何定義了 預算的型別都可以做為引數來初始化ostream iterator 輸出流迭代器 應該是隻有basic ostream和繼承了這個類的類才能當作引數來初始化ostream iterator。可能因為以上型別基本都過載了 所以lz才搞錯了吧。最常用的basic os...

CAD中的常用線型,CAD中如何自定義自己用的線型?

border 單點雙短畫線 非gb標準線 dashdot 細點畫線 表示軸線,對稱中心線,或分度圓線,或者粗點畫線 表示限定範圍表示線 dashed 細虛線 表示不可見稜邊線,或不可見輪廓線,或者粗虛線 表示允許表面處理的表示線 divide 細雙點畫線 表示相鄰輔助零件的輪廓線,或可動零件的極限位...