>lActualOutput = (lBuffer[0] << 8) + lBuffer[1];

サンプルコードでは違いは出ないが
もとがchar配列でlActualOutputがshortだから、
xorでなくcbwでサイン拡張したほうが正確だろうけどな。

>>361
そこの指摘ならほめてやろう。