3 回答

TA貢獻1841條經(jīng)驗 獲得超3個贊
如果你想在 PHP 中得到一個負(fù)數(shù)的真模,你必須做兩次余數(shù)運算,第二次在加上你正在做模數(shù)的數(shù)字之后,使運算的輸入為正:
$a = ((-1 % 7) + 7) % 7;
echo $a;
$a = ((4 % 7) + 7) % 7;
echo $a;
輸出
6
4

TA貢獻1812條經(jīng)驗 獲得超5個贊
所以,結(jié)果 -1 是一個正確的答案。這就是“負(fù)余數(shù)”。我不是數(shù)學(xué)專業(yè),我不知道還有另一個有效的答案。我正在尋找非負(fù)余數(shù)(正常答案)。
原來我可以用gmp_mod
它。 https://www.php.net/manual/en/function.gmp-mod.php
這幫助我走上正軌:https : //www.omniccalculator.com/math/modulo

TA貢獻1851條經(jīng)驗 獲得超5個贊
在 PHP 中,運算符%返回除法的余數(shù),而不是模數(shù)。
來自文檔:算術(shù)運算符
$a % $b $a 除以$b 的模 余數(shù)。
和更多:
模運算符 % 的結(jié)果與被除數(shù)的符號相同——也就是說,$a % $b 的結(jié)果將與 $a 的符號相同
因此,如果您想要數(shù)學(xué)上真正的modulo,則需要添加更多計算,如下面的函數(shù)所示:
function modulo( $dividend, $divisor ){ return ( $dividend % $divisor + $divisor ) % $divisor; }
- 3 回答
- 0 關(guān)注
- 248 瀏覽
添加回答
舉報