0

配列内の各バイトを比較し、最初のバイトと異なる場合は 2 番目のバイトを返すことによって、2 つのバイト配列の違いを返すメソッドを C# で作成しようとしています。私はこれまでのところこれを持っています:

        byte[] b1 = 111;
        byte[] b2 = 105;

        int j = input.Length;

        byte[] differenceByte = new byte[j];

        int diffIndex = 0;

        for (int i = 0; i < j; i++)
        {
            if (originalByte[i] != comparisonByte[i])
                differenceByte[diffIndex++] = comparisonByte[i];
        }

しかし、最初のバイトと 2 番目のバイトを比較する if ステートメントをビット単位のブードゥー マジックに置き換える方法を見つけたいと思っていました...これを行う方法はありますか?

2 番目の質問は、このコードをできるだけ速く実行できるように最適化する他の方法はありますか?

最終的には、このコードを使用して、文字列をバイト配列との間で変換して 2 つの文字列を比較したいので、その点で知っておくべきことがあれば、それも役に立ちます。

4

1 に答える 1

1

等値演算子はビットを操作します。
等価演算子を改善するビット単位のブードゥー魔法はありません。

于 2012-05-13T19:31:05.290 に答える