在VB中運用模運算(mod)進行求余數。
專注于為中小企業提供成都網站設計、網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業五常免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了成百上千家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
對于整型數a,b來說,取模運算或者求余運算的方法都是:
1、求 整數商: c = a/b;
2、計算模或者余數: r = a - c*b。
求模運算和求余運算在第一步不同: 取余運算在取c的值時,向0 方向舍入;而取模運算在計算c的值時,向負無窮方向舍入。所謂向0方向舍入,就是以小數點為界限,直接將小數部分去掉。如(Int)-1.324=-1(亦叫截斷法);
而向負無窮方向舍入,就是最終結果比真實值更小。如(Int)-1.324=-2;(int此處是強制轉換數據類型)注意c是指商。
擴展資料
通常情況下取模運算(mod)和求余(rem)運算被混為一談,因為在大多數的編程語言里,都用’%’符號表示取模或者求余運算。在這里要提醒大家要十分注意當前環境下’%’運算符的具體意義,因為在有負數存在的情況下,兩者的結果是不一樣的。
求模運算和求余運算在第一步不同: 取模求余運算在取c的值時,向0 方向舍入(fix()函數);注:fix()函數是MATLAB中的一種取整函數、截斷函數,直接截取數字的整數部分。而求余取模運算在計算c的值時,向無窮小方向舍入(floor()函數)。
注:floor()函數為向下取整的函數。
mod是用來計算余數的。前面是被除數,后面是除數,結果是余數。
語法:
result = number1 Mod number2
一般情況下,除數、被除數,很少用小數,結果一定是整數(商當然也是按照整數計算的)。
例如:
5?mod?3
5除以3商1余2,所以5?mod?3=2
23 mod 5.8
擴展資料:
一、兩個異號整數求余
1、函數值符號規律(余數的符號) mod(負,正)=正 mod(正,負)=負
結論:兩個整數求余時,其值的符號為除數的符號。
2、取值規律 先將兩個整數看作是正數,再作除法運算,能整除時,其值為0 (或沒有顯示)不能整除時,其值=除數×(整商+1)-被除數
例:mod(36,-10)=-4 即:36除以10的整數商為3,加1后為4;其與除數之積為40;再與被除數之差為(40-36=4);取除數的符號。所以值為-4。
二、兩個小數求余,取值規律:
被除數-(整商×除數)之后在第一位小數位進行四舍五入。
例:mod(9,1.2)=0.6即:9除1.2其整商為7;7與除數1.2之積為8.4;被除數9與8.4之差為0.6。故結果為0.6。
例:mod(9,2.2)=0.2 即:9除2.2其整商為4;4與除數2.2這積為8.8;被除數9與8.8之差為0.2,故結果為0.2.
VB中使用MOD運算求兩個整數相除的余數:
例如:求27除以5的余數,最簡單的方法是
27 Mod 5 就可以了。
也可以用
27 - 27 \ 5 * 5 來求得。
其中 \ 是整數除法的運算符。27 \ 5 的值就等于27除以5的商的整數部分(19 \ 10 = 1)
即是5。由于 \ 和 * 的運算優先組長相同,所以,
27 - 27 \ 5 * 5
=27 - 5 * 5
=27 - 25
=2
vb中mod意思是指被除數除以除數所得的余數,叫取模運算符。
語法:MOD ( Number1, Number2?)。
在vb開發環境下取模運算(mod)和求余(rem)運算相同,因為在大多數的編程語言里,都用'%'符號表示取模或者求余運算。例如 15 Mod 4 結果返回 3,12 Mod 2 結果返回 0。在vb的命令窗口中輸入help mod或者doc mod可以獲得該函數的幫助信息。
擴展資料:
如果 Number1 或 Number2 是浮點值,則將返回除法運算的浮點余數。結果的數據類型是最小的數據類型,該類型可以容納由 Number1 和 Number2 的數據類型相除得到的所有可能值。
如果 Number1 或 Number2 計算結果等于?Nothing,則將其視為零。
如果 Number2 為零,Number1 為整數時,引發 DivideByZeroException 異常。Number1 為浮點數時返回?NaN。
參考資料來源:百度百科——MOD
VB6中Mod 運算符功能是兩數相除求余。
如果兩數中帶小數,Mod 會先四舍六入取整,再按整數求余,余數帶小數的話只取整數部分。
注意,如果有書說四舍五入,是錯的。
在 VB6 用的是所謂銀行家算法,是四舍六入:
小數部分比 0.5 小就舍(例如0.4,0.49999),比 0.5 大就進(例如0.6,0.500001),
剛好是 0.5 可能舍可能進,如果小數點前面是偶數就舍(例如2.5 得 2),是奇數就進(例如3.5 得 4)。
Mod 運算符在VB.NET中有改動,余數可以帶小數。
以上資料來自:
所以2.5 mod 2結果是0