Арифметичні оператори використовуються для виконання багатьох відомих арифметичних операцій, включаючи обчислення числових значень, представлених літералами, змінними, іншими виразами, викликами функцій і властивостей, а також константами. Також з арифметичними операторами розглядаються оператори поразрядного зсуву, які працюють на рівні окремих бітів операндів і здійснюють їх зрушення вліво або вправо.
Можна скласти два значення в вираженні за допомогою оператора Оператор + (Visual Basic) або відняти одне з іншого за допомогою оператора Оператор - (Visual Basic). як показано в наступному прикладі.
Заперечення також використовує оператор Оператор - (Visual Basic). але тільки з одним операндом, як показано в наступному прикладі.
Множення і ділення використовують, відповідно, оператори Оператор * (Visual Basic) і Оператор / (Visual Basic). як показано в наступному прикладі.
Для зведення в ступінь використовується оператор Оператор ^ (Visual Basic). як показано в наступному прикладі.
Цілочисельне ділення виконується за допомогою оператора Оператор \ (Visual Basic). Цілочисельне ділення повертає приватне, тобто ціле число, яке представляє - скільки разів ділене ділиться на дільник без залишку. Дільник і ділене повинні бути цілими типами (SByte. Byte. Short. UShort. Integer. UInteger. Long і ULong) для використання даного оператора. Всі інші типи спочатку необхідно перетворити до цілого типу. Нижче представлений приклад цілочисельного ділення.
Арифметична операція ділення з залишком виконується за допомогою Оператор Mod (Visual Basic). Цей оператор повертає залишок від ділення діленого на дільник ціле кількість разів. Якщо дільник і ділене є цілими типами, повернене значення є цілим. Якщо дільник і ділене є типами з плаваючою комою, повернене значення також є змінною з плаваючою комою. Наступний приклад ілюструє така поведінка.
Спроба ділення на нуль
Ділення на нуль призводить до різних результатів, залежно від типів даних. При целочисленном розподілі (SByte. Byte. Short. UShort. Integer. UInteger. Long. ULong). NET Framework формує виключення DivideByZeroException. При ділення великих чисел з типом даних Decimal або Single .NET Framework також формує виключення DivideByZeroException.
При розподілі з плаваючою комою з використанням типу даних Double виняток не формується, а результатом є член класу, що представляє NaN. PositiveInfinity або NegativeInfinity. в залежності від діленого. У наступній таблиці узагальнені різні результати спроби ділення значення типу Double на нуль.
Тип даних діленого
Тип даних подільника
NaN (не задано математично число)
Після перехоплення виключення DivideByZeroException можна використовувати його члени при обробці. Наприклад, властивість Message містить текст повідомлення для виключення. Додаткові відомості див. У розділі Огляд структурної обробки виключень в Visual Basic.
Операція поразрядного зсуву виконує арифметичний зрушення над набором розрядів. Набір міститься в операнде зліва, а операнд справа вказує число позицій для зсуву набору. Можна зрушити біти вправо за допомогою оператора Оператор '' >> '' (Visual Basic) або вліво за допомогою оператора Оператор <<(Visual Basic) .
Тип даних зрушуваної операнда повинен бути SByte. Byte. Short. UShort. Integer. UInteger. Long або ULong. Тип даних операнда кількості розрядів зсуву повинен бути Integer або його необхідно розширити до Integer.
Арифметичні зрушення не є циклічними. Це означає, що біти, зсунуті в один кінець результату, не вводяться повторно в інший кінець. Позиції довічного розряду, звільнені зрушенням, встановлюються таким чином:
0 для арифметичного зсуву вліво
0 для арифметичного зсуву вправо позитивного числа
0 для арифметичного зсуву вправо беззнакового типу даних (Byte. UShort. UInteger. ULong)
1 для арифметичного зсуву вправо негативного числа (SByte. Short. Integer або Long)
У наступному прикладі значення Integer зсувається і вліво і вправо.