0
我正在做的事情,需要我使用非常大的數字,所以我正在做我自己的數字類。現在完全需要的數學運算之一是模運算,而且我不知道有這種方法。我的類包含一個ArrayList,其順序相反,例如數字5321看起來像1235.Modulo在自定義類
我正在做的事情,需要我使用非常大的數字,所以我正在做我自己的數字類。現在完全需要的數學運算之一是模運算,而且我不知道有這種方法。我的類包含一個ArrayList,其順序相反,例如數字5321看起來像1235.Modulo在自定義類
還記得模數。下面發佈的是一些psudo代碼,假設你有一個+運營商和一個 - 你的號碼類運營商,這可以做到這一點。
BigNum operator%(BigNum divisor)
{
BigNum val = this;
BigNum div = divisor;
while(div < val)
{
div = div + divisor;
}
return this - (div - divisor);
}
Java不會直接支持操作符重載,所以操作必須是函數 – vandale
爲什麼要重新發明輪子?你不能使用'BigInteger'或'BigDecimal'類嗎?此外,如果你有代碼問題,然後張貼它。 – Pshemo
對於未來我想知道它是如何工作的,如果我讓這個類知道它將如何工作 – Slymodi
@Slymodi,那麼你還應該看看BigInteger和BigDecimal的源代碼。 – vandale