さまざまなバージョンの Windows を搭載した多数のコンピューターで JPEG 解凍をテストしています。これらのコンピューターにはすべて .NET 4 がインストールされており、.NET 2 および "Any CPU" プラットフォーム ターゲットに対してコンパイルしています。次のコードは、異なるシステムで異なる出力を生成します。
Bitmap bmp = (Bitmap)Image.FromFile("test.jpg");
long datasum = 0;
for (int y = 0; y < bmp.Height; y++)
for (int x = 0; x < bmp.Width; x++)
datasum = datasum + bmp.GetPixel(x, y).R + bmp.GetPixel(x, y).G + bmp.GetPixel(x, y).B;
Console.WriteLine(datasum);
すべての Win7 64 ビットおよび WinXP 32 ビット マシンは、1 つの結果を生成します。また、すべての Win7 32 ビット マシンで別の結果が生成されます。
出力が異なる理由はありますか?