2013-03-14 60 views

回答

3

它是一個常規的模數:

MOD函數被定義爲通過該數目超過 即不大於 該號碼除數的最大整數倍的量。

你可以認爲它像這樣:

10%-3

多的小於-3最大的是-2

因此10 % -3-2

-10%3

現在,爲什麼-10 % 3是?

想想最簡單的方法是在負數上加上的倍數,這樣數字就變成了正數。

-10 + (4*3) = 2所以-10 % 3 = (-10 + 12) % 3 = 2 % 3 = 3

+0

非常感謝! – 2013-03-15 01:56:56

+0

歡迎您,如果它對您有幫助,您可以接受答案。 – Maroun 2013-03-18 14:45:58

2

這裏就是我們所說的這個黑客的指南到Visual FoxPro中的:

MOD()和%是相當簡單的用正數打交道時,但當其中一個或兩個數字都是負數時,它們會變得有趣。理解的結果的關鍵是下面的等式:

MOD(X,Y)= X - (Y * FLOOR(X/Y))

由於數學模運算沒有爲負數定義,很高興看到FoxPro定義在數學上是一致的。但是,它們可能與您最初預期的不同,因此您可能需要檢查否定因數或分紅。

一個小測試(和手冊)告訴我們,一個正的除數給出了一個正的結果,而一個負的除數給出了一個負的結果。

+0

非常感謝!哇!我很榮幸得到作者的回答! – 2013-03-15 01:56:31