このコードは正常にコンパイルされますが、実行中に Visual Studio 2013 で System.OverflowException が発生します。
Sub Main()
Dim a As ULong = 14345389830683080345D
Dim c As ULong = 1
Dim x As ULong = a And 1 '<-- cause System.OverflowException
Dim y As ULong = a And c '<-- works well
End Sub
なぜこれが起こるのか説明できますか?また、変数の値が小さい場合 (例: 5)、例外は発生しません。
PS 変数の最上位 3 ビットはすべてゼロです。