Simply stated, arithmetic operators are special symbols that cause Visual Basic .NET to process program expressions in a very specific manner. Table 9.1 presents the arithmetic operators that are available in Visual Basic .NET.
Table 9.1. Arithmetic Operators
There may be a few surprises for you in Table 9.1. First, notice that there are two division operators. The forward-slash division operator ( / ) is the division operator that you are likely to use most often. The backward-slash division operator ( \ ) is limited to integer division and is used less often because any remainder from the division is dropped. However, integer division is very fast and may be useful to you in some limited applications.
The exponentiation operator ( ^ ) is one you've used before, at least indirectly, in the discussion of binary arithmetic in Chapter 4, "Data Types and Numeric Variables." Remember when I said 2 8 equals 256? You could produce this result in Visual Basic .NET by using the exponentiation operator with this statement:
Result = 2 ^ 8
After you process this statement, Result equals 256 .
The Mod operator returns the remainder after integer division. For example, in integer division, 5 divided by 2 equals 2, with a remainder of 1. Therefore, this statement:
Result = 5 Mod 2
would find Result equal to 1 , not 2 . Again, the reason is because the Mod operator returns the remainder of the division, not the quotient . A common use for the Mod operator is to determine whether a number is odd or even. In this expression:
Result = Number Mod 2
Result equals 1 any time Number is an odd number, and it equals any time Number is an even number.
Unary Plus and Unary Minus
The unary plus ( + ) and unary minus ( - ) operators are a little strange because they are unary operators rather than binary operators. Recall from Chapter 4 that a binary operator takes two operands.
The binary arithmetic operators listed in Table 9.1 have this general form:
ArithmeticResult = Operand1 Operator Operand2
The unary operators, however, have this form:
ArithmeticResult = Operator Operand1
Notice that only a single operand is used in this expression. An example should help explain how this works. Consider the following code fragment:
Num = 10 Result = -Num
In this example, we are using the unary minus operator to change Num from 10 to -10 . Note that the unary minus operator works by subtracting the operand (in this case, Num ) from .
What does the following code fragment assign to Result ?
Num = -10 Result = +Num
If you said Result equals 10 , you are wrong! The reason is that unary plus simply returns the operand; it does not change the sign of the operand. If you need the absolute value of the number, you use the Abs() function, found in the Math library. (If you forgot about the Math library, check out how the Sqrt() function is used in Chapter 4.)