在VB中運用模運算(mod)進行求余數。
創新互聯公司長期為千余家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為金華企業提供專業的網站建設、網站制作,金華網站改版等技術服務。擁有十年豐富建站經驗和眾多成功案例,為您定制開發。
對于整型數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()函數為向下取整的函數。
在vb中,取模運算與求余運算是等價的,所以求余運算符就是mod。
例:使用mod函數:5
mod
4得到的結果就是余數。
一、vb算術運算符
:
^
運算符
*
運算符
/
運算符
\
運算符
mod
運算符
+
運算符
-
運算符
二、vb連接運算符:
運算符
+
運算符
asc函數
三、轉換函數
cbool函數
cbyte函數
ccur函數
cdate函數
cdec函數
cdbl函數
chr
函數
cint
函數
clng
函數
csng
函數
cstr
函數
cvar
函數
cverr
函數
format
函數
hex
函數
oct
函數
str
函數
val
函數
四、數學函數
abs
函數
atn
函數
cos
函數
exp
函數
fix
函數
int
函數
log
函數
rnd
函數
sgn
函數
sin
函數
sqr
函數
tan
函數
五、邏輯運算符
and
運算符
eqv
運算符
imp
運算符
not
運算符
or
運算符
xor
運算符
用MOD運算符。比如27除以4的余數,用x表示,則:
x=27 Mod 4
運行代碼后,x的值為 3
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函數:5 mod 4得到的結果就是余數。
一、vb算術運算符 ?:
^ 運算符
* 運算符
/ 運算符
\ 運算符
Mod 運算符
+ 運算符
- 運算符
二、vb連接運算符:
運算符
+ 運算符
Asc函數
三、轉換函數
CBool函數
CByte函數
CCur函數
CDate函數
CDec函數
CDbl函數
Chr 函數
CInt 函數
CLng 函數
CSng 函數
CStr 函數
CVar 函數
CVErr 函數
Format 函數
Hex 函數
Oct 函數
Str 函數
Val 函數
四、數學函數
Abs 函數
Atn 函數
Cos 函數
Exp 函數
Fix 函數
Int 函數
Log 函數
Rnd 函數
Sgn 函數
Sin 函數
Sqr 函數
Tan 函數
五、邏輯運算符
And 運算符
Eqv 運算符
Imp 運算符
Not 運算符
Or 運算符
Xor 運算符
拉一個文本框text1,拉一個按鈕
text1內數字合法性校驗省略,代碼如下:
Private num As Integer
Private str As String '定義表達式字符串
'以上定義全局變量,在自定義計算過程中被反復修改
Private Sub Command1_Click()
num = CInt(Text1.Text)
str = ""
Dim abcd() As String
abcd = Split("a,b,c,d", ",")
Dim Num_abcd(3) As Integer
Num_abcd(0) = 30
Num_abcd(1) = 20
Num_abcd(2) = 8
Num_abcd(3) = 5
Dim i As Integer
For i = 0 To UBound(Num_abcd)
Call myCalc(Num_abcd(i), abcd(i))
Next
If num 0 Then str = str "+" CStr(num) '如果最后num還有剩余,直接加上
MsgBox str
num = 0
str = ""
End Sub
‘自定義計算過程,返回數值和表達式
Private Sub myCalc(n As Integer, nStr As String)
If num = n Then
If str "" Then str = str "+"
str = str CStr(Int(num \ n)) "*" nStr
num = num Mod n
End If
End Sub
新聞標題:vb.net取余數代碼,vb語言取余數
文章分享:http://m.kartarina.com/article26/dsespcg.html
成都網站建設公司_創新互聯,為您提供外貿網站建設、品牌網站建設、商城網站、網站導航、網站營銷、域名注冊
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯