手のバイナリイメージ(サイズ:100x100)があり、0または1の値のみで構成される行列として表すことができます。これは例です:

double線形化された画像を表す配列があり、それを呼び出すと仮定するとimage、次の操作を実行する必要があります。
double accumulator = 0;
for (int j = 0; j < image.Length; ++j)
{
accumulator += image[j] * weights[j];
}
つまり、image配列の各ピクセルの加重和を計算する必要があります。weights値を含む配列を表し、double画像の各ピクセルに重みを付けるために使用されます。
次のコードは前のコードよりも効率的ですか?
double accumulator = 0;
for (int j = 0; j < image.Length; ++j)
{
if (image[j] != 0)
{
accumulator += image[j] * weights[j];
}
}