VB.NET Mod Operator (Odd, Even Numbers)Use the Mod operator to perform modulo division. Use Mod in a loop construct.
Mod. How can you use modulo division in the VB.NET language? With the Mod operator, you can compute the remainder of a division expression.
Mod is equivalent to the modulo operator in C-like languages. With Mod we can determine whether a number is odd or even (its parity).
This example shows some Mod expressions with constant Integers. When the value 90 goes into 1000 11 times, but leaves a remainder of 10. This is the result of 1000 Mod 90.
And: The next Mod expressions show the same principle in action. The output numbers are shown.
VB.NET program that uses Mod with constants
' Compute some modulo expressions with Mod.
Console.WriteLine(1000 Mod 90)
Console.WriteLine(100 Mod 90)
Console.WriteLine(81 Mod 80)
Console.WriteLine(1 Mod 1)
Using a Mod expression is appropriate in a For-loop. You can apply Mod to the induction variable "i". In this program, we display "i" whenever it is divisible by 10.
Sometimes: This style of code is useful in real programs. We can "throttle" an action to occur only occasionally this way.
VB.NET program that uses Mod in For-loop
' Loop through integers.
For i As Integer = 0 To 200 - 1
' Test i with Mod 10.
If i Mod 10 = 0 Then
Odd, even numbers.
The parity of a number is whether it is odd or even. We can test parity by creating 2 functions in VB.NET that return true or false.
IsOdd: This returns the opposite of IsEven. It correctly handles negative and positive numbers.
IsEven: This uses modulo division (with Mod) to see if the number is evenly divisible by 2 (and thus even).
Boolean: Both methods return a Boolean (true or false). We test these methods with a simple For-loop.BooleanFor Each, For
VB.NET program that tests odd, even numbers
Function IsOdd(ByVal number As Integer) As Boolean
' Handle negative numbers by returning the opposite of IsEven.
Return IsEven(number) = False
Function IsEven(ByVal number As Integer) As Boolean
' Handles all numbers because it tests for 0 remainder.
' ... This works for negative and positive numbers.
Return number Mod 2 = 0
For i = -10 To 10
Console.WriteLine(i.ToString() + " EVEN = " + IsEven(i).ToString())
Console.WriteLine(i.ToString() + " ODD = " + IsOdd(i).ToString())
-10 EVEN = True
-10 ODD = False
-9 EVEN = False
-9 ODD = True
-8 EVEN = True
-8 ODD = False
-7 EVEN = False
-7 ODD = True
-6 EVEN = True
-6 ODD = False
-5 EVEN = False
-5 ODD = True
-4 EVEN = True
-4 ODD = False
-3 EVEN = False
-3 ODD = True
-2 EVEN = True
-2 ODD = False
-1 EVEN = False
-1 ODD = True
0 EVEN = True
0 ODD = False
1 EVEN = False
1 ODD = True
2 EVEN = True
2 ODD = False
3 EVEN = False
3 ODD = True
4 EVEN = True
4 ODD = False
5 EVEN = False
5 ODD = True
6 EVEN = True
6 ODD = False
7 EVEN = False
7 ODD = True
8 EVEN = True
8 ODD = False
9 EVEN = False
9 ODD = True
10 EVEN = True
10 ODD = False
In C-like languages, the "%" character expresses a modulo division. We cannot use this character in VB.NET. More details are available in the C# language article.Modulo
Modulo division is an important concept to understand in computer programming. In the .NET Framework, modulo division is used to implement collections such as Dictionary.Dictionary
Summary, continued. The Mod operator often comes in handy whenever a mathematical procedure is needed. We can use modulo for determining parity (odd or even).
© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to firstname.lastname@example.org.