python中7 3為什麼等於 2?

2021-10-13 03:22:55 字數 364 閱讀 6621

python計算取模的方法是:(比如a % b)

先算出a除去b的值,然後將其下取整,然後把b乘回來,然後從a當中扣掉這個值

所以整個式子就是a % b = a - b × floor( a / b )

那我們按這樣算一遍,7 % -3 = 7 - (-3) × floor(-2.333…) = 7 - (-3*-3) (-2.333向下取整 =-3)=7-9=-2

不同語言對取模有不同的規則,有的是下取整,有的是直接截去小數部分,在正數範圍內這兩種方法結果是一樣的,但是負數就會產生差別。所以在對負數取模之前要考慮一下你想要得到怎麼樣的乙個數值。

你也可以在取模之後進行一些處理。我個人的做法是在取模之後通過加減模數,把結果全部變成正數。

為什麼0 1 0 2不等於0 3

先看兩個簡單但詭異的 0.1 0.2 0.3 true 0.1 0.1 0.0100000000000000020.1加0.2為什麼就不等於0.3暱?要回答這個問題,得先了解計算機內部是如何表示數的。我們都知道,計算機用位來儲存及處理資料。每乙個二進位制數 二進位制串 都一一對應乙個十進位制數。1....

在js中為什麼0 1 0 2不等於0 3

0.1 0.2 0.3 false原因在於在js中採用的ieee 754的雙精度標準,計算機內部儲存資料的編碼的時候,0.1在計算機內部根本就不是精確的0.1,而是乙個有捨入誤差的0.1。當 被編譯或解釋後,0.1已經被四捨五入成乙個與之很接近的計算機內部數字,以至於計算還沒開始,乙個很小的捨入錯誤...

46 為什麼 NaN 不等於自身?

nan,它是用來表示是否屬於number型別的一種狀態 是或否。而不是乙個確切的值。nan值一般會在什麼情況下出現呢?一般有兩種情況 1 乙個表示式中如果有減號 乘號 或 除號 等運算子時,js引擎會在計算之前試圖將運算子兩邊的變數轉化為number型別,如果轉化失敗,表示式將返回nan 2 直接使...