剰余演算子 Mod [VB]

VB2012-2017

負数の剰余演算子は注意

剰余演算子 Mod を使えば、割り算(除算)をした結果出た余り(剰余)を求めることができます。

負数のときは注意が必要です。負の整数だけの割り算の場合でも、余りの符号はマイナスになります。

剰余演算子サンプル

剰余は、商の整数部分まで計算したときの整数値になります。正の整数だけの場合は、剰余演算した結果の符号はプラスになります。

ソースリストの枠内をクリックすると全選択できます。

    ' Integer型変数の宣言と代入
    Dim a As Integer = 17
    Dim b As Integer = 4
    Dim ans As Integer = 0
    ' 剰余計算
     ' ansは 1
    ans = a Mod b
    Console.WriteLine(ans)

負数のときは要注意。剰余演算した結果の符号は、被除数 (演算子の左側の数値) の符号になります。

    ' Integer型変数の宣言と代入
    Dim a As Integer = 3
    Dim b As Integer = -2
    Dim ans As Integer = 0
    ' 剰余計算
     ' ansは 1
    ans = a Mod b
    Console.WriteLine(ans)
    ' Integer型変数の宣言と代入
    Dim a As Integer = -3
    Dim b As Integer = 2
    Dim ans As Integer = 0
    ' 剰余計算
    ' ansは -1
    ans = a Mod b
    Console.WriteLine(ans)

負の整数だけの割り算の場合は、余りの符号はマイナス符号になります。

    ' Integer型変数の宣言と代入
    Dim a As Integer = -3
    Dim b As Integer = -2
    Dim ans As Integer = 0
    ' 剰余計算
    ' ansは -1
    ans = a Mod b
    Console.WriteLine(ans)

0を使った剰余演算

0を使った場合、整数データ型を0で割ると、System.DivideByZeroException例外が発生して、エラーになります。

    ' Long型変数の宣言と代入
    Dim zero As Long = 0
    Dim anser As Long = 0
    ' 整数除算
    ' ansは 0
    anser = zero Mod 10
    Console.WriteLine(anser)
    ' System.DivideByZeroException
    anser = 10 Mod zero
    Console.WriteLine(anser)