亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

PHP中的8%-3為什么等于0?

在PHP中,對于一些簡單的數(shù)學運算,我們總是希望能夠得到正確的結果。然而,有時候一些簡單的運算結果卻讓我們感到困惑。就像在PHP中,計算8%-3的結果卻是0一樣。為什么會出現(xiàn)這種情況呢?

要了解這個問題,首先要了解取模運算的定義。在數(shù)學中,取模運算即求余數(shù),通常表示為”a mod n”,其中a為被除數(shù),n為除數(shù)。取模運算的結果是一個非負整數(shù),范圍從0到n-1。例如,9 mod 4的結果是1,因為9除以4等于2余1。

而在PHP中,取模運算使用%符號表示。根據(jù)PHP手冊的說明,取模運算的結果符號與被除數(shù)相同。也就是說,如果被除數(shù)是正數(shù),則結果也是正數(shù);如果被除數(shù)是負數(shù),則結果也是負數(shù)。

回到我們的問題,8除以3等于2余2。根據(jù)取模運算的定義,結果應該是2。但是在PHP中,8%-3的結果卻是0,這是否違背了取模運算的定義呢?

其實,這種現(xiàn)象并不是PHP獨有的,而是取模運算的一種定義方式。在某些編程語言中,取模運算的結果可以是負數(shù)。具體的定義方式會根據(jù)編程語言的規(guī)范而有所不同。在PHP中,使用的是取模運算的”向零舍入”規(guī)則。

根據(jù)PHP手冊的說明,當被除數(shù)是正數(shù)時,取模運算的結果等于被除數(shù)與除數(shù)的余數(shù);當被除數(shù)是負數(shù)時,取模運算的結果等于被除數(shù)除以除數(shù)取整后的結果與0的較大者的余數(shù)。也就是說,PHP的取模運算結果總是比被除數(shù)的絕對值小,但是符號與被除數(shù)相同。

那么,回到8%-3這個例子。8是正數(shù),-3是負數(shù)。根據(jù)”向零舍入”規(guī)則,取模運算的結果應該是8除以-3取整后的結果與0的較大者的余數(shù)。而8除以-3取整的結果是-3,與0比較較大者仍然是0。

因此,8%-3的結果等于0。

這種定義方式在一些場景下能夠簡化代碼的邏輯,但也容易讓人誤解。如果我們希望得到正數(shù)的余數(shù),可以使用PHP提供的函數(shù)fmod()來實現(xiàn),它返回浮點數(shù)除法的余數(shù)。

總結一下,PHP中的8%-3等于0是由于取模運算的定義方式,即”向零舍入”規(guī)則所決定的。要理解這種現(xiàn)象,我們需要了解所使用編程語言的取模運算的規(guī)范,并根據(jù)實際情況選擇適當?shù)倪\算方式。

分享到:
標簽:PHP 等于
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定