一般我們進行取餘運算第乙個想到的就是用百分號%,但當除數是個很大的數值,超出了int範圍時,這樣取餘就不準確了。
php大數(浮點數)取餘函式:
/*** php大數取餘
* * @param int or float $bn 除數
* @param int $sn 被除數
* @return int 餘數
*///大數(浮點數)取餘方法
function kmod($bn,程式設計客棧 $sn)
測試**:
//大數(浮點數)取餘方法
function kmod($bn, $sn)
//整數取餘方法
function程式設計客棧 mod($bn, $sn)
//最大的int整數
$bn = php_int_max;
$sn = 11;
var_dump($bn);
var_dump(kmod($bn, $sn));
var_dump(mod($bn, $sn));
//給最大的int整數加1
$bn = php_int_max + 1;
var_dump($bn);
var_dump(kmod($bn, $sn));
var_dump(mod($bn, $sn));
執行結果:
int 2147483647
int 1
int 1
float 2147483648
int 2
int -2
浮點數取整方法
1.直接賦值給整數變數。如 int i 2.5 或 i int 2.5 是x的整數部分。2.使 用 floor函 數 floor x 返回的是小於x的最大整數部分。如 floor 2.5 2 floor 2.5 3 floor 是向負無窮大捨入,floor 10.5 11 3.使用ceil函式。ce...
php 浮點數比較方法
首先看乙個例子 a 0.1 b 0.9 c 1 var dump a b c var dump c b a a b c 返回true,正確 c b a 返回false,錯誤 為什麼會這樣呢?運算後,精度為20位時實際返回的內容如下 a 0.1 b 0.9 c 1 printf 20f a b 1.0...
浮點數的大數加法
include stdafx.h include include include include include include include using namespace std std ifstream cin in.txt std ofstream cout out.txt std str...