php模運算
⑴ php取余 8%(-2)
%是模運算,就是取余的意思。 8除-2 的-4 餘0 ,所以是0了 這個說法是對的,只是他沒說全,PHP在取余前,會先前將被除數四捨五入取整後再除的,所以,你上面的1.3,1.2之類的就都成了8%1了,余數肯定為0了,
⑵ 用兩種PHP方法實現1到100之間偶數之和
<?php
echoone(1,100);//方法一:使用for結構
echo" ";
echotwo(1,100);//方法二:使用while結構
echo" ";
echothree(1,100);//方法三:使用do...while結構
echo" ";
echofour(1,100);//方法四:使用遞歸函數
/**
*使用for結構
*@paramint$start開始
*@paramini$end結束
*
*@returnint和
*/
functionone($start=0,$end=0){
//判斷函數有效條件
if(($start==0&&$end==0)||($end<=$start))return0;
$num=0;
for($i=$start;$i<=$end;$i++){
if($i%2==0){//模運算
$num+=$i;
}
}
return$num;
}
/**
*使用while結構
*@paramint$start開始
*@paramini$end結束
*
*@returnint和
*/
functiontwo($start=0,$end=0){
//判斷函數有效條件
if(($start==0&&$end==0)||($end<=$start))return0;
$num=0;
$i=$start;//初始化增量$i
while($i<=$end){
if($i%2==0){//模運算
$num+=$i;
}
$i++;
}
return$num;
}
/**
*使用do...while結構
*@paramint$start開始
*@paramini$end結束
*
*@returnint和
*/
functionthree($start=0,$end=0){
//判斷函數有效條件
if(($start==0&&$end==0)||($end<=$start))return0;
$num=0;
$i=$start;
do{
if($i%2==0){//模運算
$num+=$i;
}
$i++;
}while($i<=$end);
return$num;
}
/**
*使用遞歸函數
*@paramint$start開始
*@paramint$end結束
*@paramint$i增量
*@paramint$num和
*
*@returnint和
*/
functionfour($start=0,$end=0,$i=0,$num=0){
//判斷函數有效條件
if(($start==0&&$end==0)||($end<=$start))return0;
static$i=1,$num=0;//將增量變數$i與統計和的變數$num設為靜態變數,保存每次計算後的結果並計入下一次計算中
if($i<=$end){
if($i%2==0){//還是模運算
$num+=$i;
$i++;
returnfour($start,$end,$i,$num);
}else{
$i++;
returnfour($start,$end,$i,$num);
}
}else{//$i>100,跳出遞歸,返回計算結果
return$num;
}
}
⑶ php 運算符:<html> <!程序名稱:5-1.php> <!程序功能:PHP算術運算符的使用。> <head> <title>PHP算術運算
你的%號是除的可以用/來吧
除法運算符總是返回浮點數。只有在下列情況例外:兩個操作數都是整數(或字元串轉換成的整數)並且正好能整除,這時它返回一個整數。
取模運算符的操作數在運算之前都會轉換成整數(除去小數部分)。
$a2=0.8/0.7;
就像是除0出錯了
<html>
<!程序名稱:5-1.php>
<!程序功能:PHP算術運算符的使用。>
<head>
<title>PHP算術運算符的使用</title>
</head>
<body>
<?php
//加法運算。
$a=3+5;
//減法運算。
$b=18-10;
//乘法運算。
$c=3*6;
//可以整除的運算。
$d=18/3;
//不可以整除的運算。
$e=10/3;
//整數的求模運算。
$a1=8%7;
//雙精度型的求模運算。
//$a2=0.8%0.7;
$a2=0.8/0.7;
echo"加法運算:3+5=";
echo $a;
echo"<br>";
echo"減法運算:18-10=";
echo $b;
echo"<br>";
echo"乘法運算:3*6=";
echo $c;
echo"<br>";
echo"整數相除:18/3=";
echo $d;
echo"<br>";
echo"不能整除的運算:10/3=";
echo $e;
echo"<br>";
echo"整數的求模:8%7=";
echo $a1;
echo"<br>";
echo"雙精度的求模:0.8%0.7=";
echo $a2;
echo"<br>";
?>
</body>
</html>
⑷ PHP 的問題
「%」是「取模運算」的意思,又稱「求余運算」,本題就是 $i除以2後所得余數為0時輸出$i,
即輸出能被2整除的數字-----偶數。
⑸ php 如何判斷整除
取模運算符兩邊必須為整數,你這個語句中包含了一個隱式轉換,
if(5.3%1==0)這句中,%前的5.3被隱式轉換成了5,因為取模操作符兩邊必須為整數,浮點數和字元串會被自動轉化為整數
5.3%1運算結果為0 , 0==0為真,所以結果輸出".00"
⑹ php中模運算是什麼
php中模運算是%,x % y 就是指
x 除以 y 的余數,如下例所示:
⑺ php語言, 模數 和 余數 是不是一樣的
假設a和b為整數:
如果a,b都是正整數的話,求模與求余沒有區別。
如果a,b是一正一負或兩個負整數:
求模運算時,a / b的結果向無窮小方向舍入,求余運算時a / b的結果向0方向舍入。
因此,求模時結果的符號與b一致,求余時結果的符號與a一致。
⑻ php裡面的取模運算的范圍是多少我試驗了一下,被除數達到10位後就出錯了 echo (3000000000%3); //輸出-1
你要把數值設置成BIGINT類型,這樣就不會出錯了。BIGint 最大達27位.應該足夠了吧
⑼ php中的取模的演算法
演算法是
90 / 22 = 4
余數是 4 所以 90對22取模之後的結果就是 4 也就是倆數相除的余數
90/22後得出4,然後再拿22乘以4得出88,再拿90減去88等於2