2014-01-11 78 views
0

我正在做的事情,需要我使用非常大的數字,所以我正在做我自己的數字類。現在完全需要的數學運算之一是模運算,而且我不知道有這種方法。我的類包含一個ArrayList,其順序相反,例如數字5321看起來像1235.Modulo在自定義類

+3

爲什麼要重新發明輪子?你不能使用'BigInteger'或'BigDecimal'類嗎?此外,如果你有代碼問題,然後張貼它。 – Pshemo

+0

對於未來我想知道它是如何工作的,如果我讓這個類知道它將如何工作 – Slymodi

+2

@Slymodi,那麼你還應該看看BigInteger和BigDecimal的源代碼。 – vandale

回答

0

還記得模數。下面發佈的是一些psudo代碼,假設你有一個+運營商和一個 - 你的號碼類運營商,這可以做到這一點。

BigNum operator%(BigNum divisor) 
{ 
    BigNum val = this; 
    BigNum div = divisor; 
    while(div < val) 
    { 
     div = div + divisor; 
    } 

    return this - (div - divisor); 
} 
+1

Java不會直接支持操作符重載,所以操作必須是函數 – vandale