1
A
回答
1
這是因爲你在32位系統上工作。
32bit php中最大的整數是2147483647
。這意味着之後(從2147483648
開始)這是一個溢出和包裝。
你的數量比更大,所以結果是:(100000000165 % 2147483648) % 5
=>1215752357 % 5
=>2
增加:您可以通過建立自己的模函數和處理花車
$largeNumberThatBreaksInteger = 10000000000000000000165;
$modulus = $largeNumberThatBreaksInteger/PHP_INT_MAX - (int)($largeNumberThatBreaksInteger/PHP_INT_MAX) * PHP_INT_MAX;
// results in something like -9.9981352879506E+21. So you can compare it with an epsilon and know if it's 0 or not.
相關問題
- 1. Modulus Division
- 2. Modulus Visual Studio 2013
- 3. a.toString()代替(/ ^(\ d)$/「0 $ 1」)
- 4. SCRIPT_PATH = 「$ {BASH_SOURCE [0]}」 壞替代
- 5. Ionic 2 getComponent替代
- 6. 替代{0},{1} .. {N}與給定的模板可變參數
- 7. Modulus託管選項
- 8. Fermat vs Mersenne as modulus
- 9. 澤西島2替代ServletContextListener
- 10. 替代使用CURLOPT_SSL_VERIFYHOST,2
- 11. .NET 2/VB:RequestValidation =假替代
- 12. 使用MVC 2代替MVC1
- 13. Grizzly 2中的GrizzlyWebServer替代品2
- 14. 錶行 - 給替代顏色
- 15. `java(0%2!= 0)== false`
- 16. 用「0」代替JSON字符串「」
- 17. CMake configure_file用1/0替代ON/OFF
- 18. $('form')[0]的替代選擇是什麼?
- 19. 用0代替最大行數
- 20. 使用參數/ {0}替代的速度
- 21. 以0代替NA就R程序
- 22. Modulus問題連接到Mongoose
- 23. 使用Modulus進行計算
- 24. 如何讓Mathematica用1代替0到0的電源?
- 25. 替代計劃讓indexPath = NSIndexPath(forRow:0,切入口:0)
- 26. 爲什麼我不能用@_代替$ _ [0],$ _ [1],$ _ [2]來覆蓋CORE :: open?
- 27. sqlite3的錯誤EXC_BAD_ACEES(代碼= 2,地址= 0 * 0
- 28. 在excel中用「0」代替Nan值和空白單元格。我的代碼也被替換文本爲「0」
- 29. 日誌(0^0)給出了0,但0 *日誌(0)給出的NaN
- 30. 爲什麼在這裏用1代替0代換日期?
在我的系統中它是'0'。你使用32位或64位版本的PHP? –
您可能正在運行一個32位PHP,其中最大的整數約爲20億。過去,數字環繞,100000000165變成1215752357。 – cHao