bitconverter.GetBytes を使用して整数からバイトを取得できることはわかっています。ただし、内容を並べ替え順序で比較できる配列が必要です。
例えば
var plusOne = BitConverter.GetBytes(1);
yields bytes: 0,0,0,1
var plusOne = BitConverter.GetBytes(2);
yields bytes: 0,0,0,2
ここまでは順調ですね:
しかし:
var minusOne = BitConverter.GetBytes(-1);
yields bytes: 255,255,255,255
ここで奇妙なことは何もありません。しかし、minusOne バイト配列を plusOne bytearray と比較すると、minusOne バイト配列が plusOne よりも大きい (255 > 0) ことがわかります。
Int.Min が 0,0,0,0 を与え、int.Max が 255,255,255,255 を与えるように、シフト、xor などの派手な方法はありますか??
混乱させて申し訳ありません :)