0
バイトに255より大きい整数をキャストする際に問題が発生しました。問題は、同じコードを実行する2つのプログラムがあることです。 1つは例外があり、もう1つはコンパイルの設定が同じであっても私はそうではありません。 コードは以下です:「算術opeationがオーバーフローを起こした」と言って、「System.OverflowException」でxoring後にintをバイトにキャストする
output[i] = (byte)(xorValue);
:
private static byte[] MixRound(byte[] input, Random RNG, int seed)
{
bool[] cellMap = new bool[input.Length];
byte[] output = new byte[input.Length];
for (int i = 0; i < input.Length; i++)
{
int value = input[NewLocation(cellMap, RNG)];
int xor = seed * (i + seed);
int xorValue = value^xor;
output[i] = (byte)(xorValue);
}
return output;
}
例外がスローされた線が、このあります。
同じコンピュータ上に同じコードを持つ2つの異なるプロジェクトでは普通だとは思いません。
あなたは算術がオンになって確認されていますか? –