十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在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