VB.netに限らない話なのかもしれませんが、

 Dim a As Byte = 15
 Dim b As Byte = 32
 Dim c As Integer
 c = a * b
のようにするとデバッグ時にオーバーフローエラーが出ます。

が、
・a がByte型で b はSByte型
のようにすると問題なく通ります。


なぜこのような違いが出てしまうのでしょうか。